https://bugs.eclipse.org/bugs/show_bug.cgi?id=73057
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/util/SupersetEObjectEList.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/util/SupersetEObjectEList.java
index c5c67cf..1b91f20 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/util/SupersetEObjectEList.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/util/SupersetEObjectEList.java
@@ -8,12 +8,11 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: SupersetEObjectEList.java,v 1.3.2.1 2004/09/01 19:02:49 khussey Exp $
+ * $Id: SupersetEObjectEList.java,v 1.3.2.2 2004/09/02 18:07:55 khussey Exp $
  */
 package org.eclipse.uml2.internal.util;
 
 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.EStructuralFeature;
 import org.eclipse.emf.ecore.InternalEObject;
@@ -100,11 +99,8 @@
 
 			if (subsetEStructuralFeature.isMany()) {
 				((EList) owner.eGet(subsetEStructuralFeature)).remove(object);
-			} else {
-
-				if (object.equals(owner.eGet(subsetEStructuralFeature))) {
-					owner.eSet(subsetEStructuralFeature, null);
-				}
+			} else if (object.equals(owner.eGet(subsetEStructuralFeature))) {
+				owner.eSet(subsetEStructuralFeature, null);
 			}
 		}
 	}
@@ -124,29 +120,13 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see org.eclipse.emf.common.notify.impl.NotifyingListImpl#basicSet(int,
-	 *      java.lang.Object, org.eclipse.emf.common.notify.NotificationChain)
+	 * @see org.eclipse.emf.common.util.BasicEList#didSet(int, java.lang.Object,
+	 *      java.lang.Object)
 	 */
-	public NotificationChain basicSet(int index, Object object,
-			NotificationChain notifications) {
-		notifications = super.basicSet(index, object, notifications);
+	protected void didSet(int index, Object newObject, Object oldObject) {
+		super.didSet(index, newObject, oldObject);
 
-		subsetRemove(object);
-
-		return notifications;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.util.List#set(int, java.lang.Object)
-	 */
-	public Object set(int index, Object object) {
-		Object result = super.set(index, object);
-
-		subsetRemove(object);
-
-		return result;
+		subsetRemove(oldObject);
 	}
 
 }
\ No newline at end of file