diff --git a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/AnyType.java b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/AnyType.java
index 249707b..788cd7c 100644
--- a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/AnyType.java
+++ b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/AnyType.java
@@ -12,7 +12,7 @@
  * 
  * </copyright>
  *
- * $Id: AnyType.java,v 1.4 2007/10/11 23:05:21 cdamus Exp $
+ * $Id: AnyType.java,v 1.5 2007/10/25 16:00:31 cdamus Exp $
  */
 package org.eclipse.ocl.uml;
 
@@ -42,6 +42,12 @@
     /**
      * Returns the value of the '<em><b>Owned Operation</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
diff --git a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/InvalidType.java b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/InvalidType.java
index b1fbdbe..a132121 100644
--- a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/InvalidType.java
+++ b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/InvalidType.java
@@ -12,7 +12,7 @@
  * 
  * </copyright>
  *
- * $Id: InvalidType.java,v 1.4 2007/10/11 23:05:21 cdamus Exp $
+ * $Id: InvalidType.java,v 1.5 2007/10/25 16:00:31 cdamus Exp $
  */
 package org.eclipse.ocl.uml;
 
@@ -42,6 +42,12 @@
     /**
      * Returns the value of the '<em><b>Owned Operation</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
diff --git a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/MessageType.java b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/MessageType.java
index e144440..145ea18 100644
--- a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/MessageType.java
+++ b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/MessageType.java
@@ -12,7 +12,7 @@
  * 
  * </copyright>
  *
- * $Id: MessageType.java,v 1.4 2007/10/11 23:05:21 cdamus Exp $
+ * $Id: MessageType.java,v 1.5 2007/10/25 16:00:31 cdamus Exp $
  */
 package org.eclipse.ocl.uml;
 
@@ -45,6 +45,12 @@
     /**
      * Returns the value of the '<em><b>Owned Operation</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
@@ -88,6 +94,12 @@
 				/**
      * Returns the value of the '<em><b>Owned Attribute</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Attributes</em>' containment reference list isn't clear,
diff --git a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/TypeType.java b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/TypeType.java
index eb602ae..3fb8ed9 100644
--- a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/TypeType.java
+++ b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/TypeType.java
@@ -12,7 +12,7 @@
  * 
  * </copyright>
  *
- * $Id: TypeType.java,v 1.4 2007/10/11 23:05:21 cdamus Exp $
+ * $Id: TypeType.java,v 1.5 2007/10/25 16:00:31 cdamus Exp $
  */
 package org.eclipse.ocl.uml;
 
@@ -42,6 +42,12 @@
     /**
      * Returns the value of the '<em><b>Owned Operation</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
diff --git a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/VoidType.java b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/VoidType.java
index f0d2dc4..f2c7d40 100644
--- a/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/VoidType.java
+++ b/plugins/org.eclipse.ocl.uml/src/org/eclipse/ocl/uml/VoidType.java
@@ -12,7 +12,7 @@
  * 
  * </copyright>
  *
- * $Id: VoidType.java,v 1.4 2007/10/11 23:05:21 cdamus Exp $
+ * $Id: VoidType.java,v 1.5 2007/10/25 16:00:31 cdamus Exp $
  */
 package org.eclipse.ocl.uml;
 
@@ -42,6 +42,12 @@
     /**
      * Returns the value of the '<em><b>Owned Operation</b></em>' containment reference list.
      * The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
+* <p>
+* This feature subsets the following features:
+* <ul>
+*   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
+* </ul>
+* </p>
      * <!-- begin-user-doc -->
      * <p>
      * If the meaning of the '<em>Owned Operations</em>' containment reference list isn't clear,
