[195438] Ensuring that contents of semi-derived lists are considered when testing whether features are set.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
index 7ef9ad9..7d08b8f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ConnectableElementImpl.java,v 1.15.2.1 2007/06/12 15:38:24 khussey Exp $
+ * $Id: ConnectableElementImpl.java,v 1.15.2.2 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -592,7 +592,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.CONNECTABLE_ELEMENT__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -629,6 +629,16 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.CONNECTABLE_ELEMENT__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
index d1349ea..13238df 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ConnectionPointReferenceImpl.java,v 1.15 2006/05/24 20:54:27 khussey Exp $
+ * $Id: ConnectionPointReferenceImpl.java,v 1.15.2.1 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -517,7 +517,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.CONNECTION_POINT_REFERENCE__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -558,6 +558,18 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.CONNECTION_POINT_REFERENCE__OUTGOING :
+				return !getOutgoings().isEmpty();
+			case UMLPackage.CONNECTION_POINT_REFERENCE__INCOMING :
+				return !getIncomings().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
index 0bc21b5..54919d3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ExtensionEndImpl.java,v 1.19 2006/04/10 19:16:20 khussey Exp $
+ * $Id: ExtensionEndImpl.java,v 1.19.2.1 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -325,7 +325,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.EXTENSION_END__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -426,4 +426,14 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.EXTENSION_END__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 } //ExtensionEndImpl
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
index 90d7648..63b7c61 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ParameterImpl.java,v 1.31.2.1 2006/11/17 15:27:16 khussey Exp $
+ * $Id: ParameterImpl.java,v 1.31.2.2 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1552,7 +1552,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.PARAMETER__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -1617,6 +1617,16 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.PARAMETER__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
index b751b95..4d8f9cd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: PortImpl.java,v 1.22.2.1 2006/11/17 15:27:15 khussey Exp $
+ * $Id: PortImpl.java,v 1.22.2.2 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -899,7 +899,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.PORT__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -1012,6 +1012,16 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.PORT__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
index 165ae92..7840f1e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: PropertyImpl.java,v 1.35.2.2 2007/06/12 15:38:24 khussey Exp $
+ * $Id: PropertyImpl.java,v 1.35.2.3 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -2526,7 +2526,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.PROPERTY__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -2627,6 +2627,16 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.PROPERTY__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
index 34ed56a..47c3bce 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: PseudostateImpl.java,v 1.14 2006/05/24 20:54:27 khussey Exp $
+ * $Id: PseudostateImpl.java,v 1.14.2.1 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -609,7 +609,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.PSEUDOSTATE__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -650,6 +650,18 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.PSEUDOSTATE__OUTGOING :
+				return !getOutgoings().isEmpty();
+			case UMLPackage.PSEUDOSTATE__INCOMING :
+				return !getIncomings().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
index 452dbc9..c3e65a4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: StateImpl.java,v 1.28.2.1 2007/06/12 15:38:24 khussey Exp $
+ * $Id: StateImpl.java,v 1.28.2.2 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1993,7 +1993,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.STATE__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -2075,6 +2075,18 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.STATE__OUTGOING :
+				return !getOutgoings().isEmpty();
+			case UMLPackage.STATE__INCOMING :
+				return !getIncomings().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
index bb57b7c..2ddf061 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: VariableImpl.java,v 1.27 2006/05/24 20:54:28 khussey Exp $
+ * $Id: VariableImpl.java,v 1.27.2.1 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1081,7 +1081,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.VARIABLE__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -1134,6 +1134,16 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.VARIABLE__END :
+				return !getEnds().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
index 1a6510b..f88ceed 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: VertexImpl.java,v 1.16.2.1 2007/06/12 15:38:24 khussey Exp $
+ * $Id: VertexImpl.java,v 1.16.2.2 2007/07/04 19:41:56 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -540,7 +540,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public boolean eIsSet(int featureID) {
+	public boolean eIsSetGen(int featureID) {
 		switch (featureID) {
 			case UMLPackage.VERTEX__EANNOTATIONS :
 				return eAnnotations != null && !eAnnotations.isEmpty();
@@ -575,6 +575,18 @@
 		return eDynamicIsSet(featureID);
 	}
 
+	public boolean eIsSet(int featureID) {
+
+		switch (featureID) {
+			case UMLPackage.VERTEX__OUTGOING :
+				return !getOutgoings().isEmpty();
+			case UMLPackage.VERTEX__INCOMING :
+				return !getIncomings().isEmpty();
+		}
+
+		return eIsSetGen(featureID);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->