[346183] Ensuring correct unique names are used for "duplicate" operations.
diff --git a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
index a434173..cda32bc 100644
--- a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
+++ b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
@@ -9,9 +9,9 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 206636, 204200
  *   Lutz Wrage - 241411
- *   Kenn Hussey - 286329, 323181, 344908
+ *   Kenn Hussey - 286329, 323181, 344908, 346183
  *
- * $Id: GenClassImpl.java,v 1.49 2011/05/06 03:02:05 khussey Exp $
+ * $Id: GenClassImpl.java,v 1.50 2011/05/18 02:59:30 khussey Exp $
  */
 package org.eclipse.uml2.codegen.ecore.genmodel.impl;
 
@@ -1475,4 +1475,21 @@
 		return false;
 	}
 
+	@Override
+	public String getUniqueName(GenOperation genOperation) {
+		GenOperation redefinedGenOperation = genOperation;
+
+		while (UML2GenModelUtil.isDuplicate(redefinedGenOperation)) {
+			List<GenOperation> redefinedGenOperations = UML2GenModelUtil.getRedefinedGenOperations(redefinedGenOperation);
+
+			if (redefinedGenOperations.size() > 0) {
+				redefinedGenOperation = redefinedGenOperations.get(0);
+			} else {
+				break;
+			}
+		}
+
+		return super.getUniqueName(redefinedGenOperation);
+	}
+
 }