https://bugs.eclipse.org/bugs/show_bug.cgi?id=96427
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/ProfileOperations.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/ProfileOperations.java
index 4655c27..2fdf365 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/ProfileOperations.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/ProfileOperations.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProfileOperations.java,v 1.8.2.14 2005/05/24 21:30:44 khussey Exp $
+ * $Id: ProfileOperations.java,v 1.8.2.15 2005/06/02 14:03:57 khussey Exp $
  */
 package org.eclipse.uml2.internal.operation;
 
@@ -78,7 +78,7 @@
  * A static utility class that provides operations related to profiles.
  */
 public final class ProfileOperations
-	extends UML2Operations {
+		extends UML2Operations {
 
 	/**
 	 * The source for the attributes annotation on profiles.
@@ -328,8 +328,8 @@
 	 * @return The (new) Ecore class.
 	 */
 	public static EClass createEClass(EPackage ePackage, Stereotype stereotype) {
-		EClass eClass = (EClass) ePackage
-			.getEClassifier(getEClassifierName(stereotype));
+		String name = getEClassifierName(stereotype);
+		EClass eClass = (EClass) ePackage.getEClassifier(name);
 
 		if (null == eClass) {
 			eClass = EcoreFactory.eINSTANCE.createEClass();
@@ -338,7 +338,7 @@
 				StereotypeOperations.ANNOTATION_SOURCE__STEREOTYPE, eClass)
 				.getReferences().add(stereotype);
 
-			eClass.setName(getEClassifierName(stereotype));
+			eClass.setName(name);
 			eClass.setAbstract(stereotype.isAbstract());
 
 			ePackage.getEClassifiers().add(eClass);
@@ -388,13 +388,13 @@
 	 */
 	public static EClass createEClass(EPackage ePackage,
 			org.eclipse.uml2.Class class_) {
-		EClass eClass = (EClass) ePackage
-			.getEClassifier(getEClassifierName(class_));
+		String name = getEClassifierName(class_);
+		EClass eClass = (EClass) ePackage.getEClassifier(name);
 
 		if (null == eClass) {
 			eClass = EcoreFactory.eINSTANCE.createEClass();
 
-			eClass.setName(getEClassifierName(class_));
+			eClass.setName(name);
 			eClass.setAbstract(class_.isAbstract());
 
 			ePackage.getEClassifiers().add(eClass);
@@ -456,13 +456,13 @@
 	 * @return The (new) Ecore class.
 	 */
 	public static EClass createEClass(EPackage ePackage, Interface interface_) {
-		EClass eClass = (EClass) ePackage
-			.getEClassifier(getEClassifierName(interface_));
+		String name = getEClassifierName(interface_);
+		EClass eClass = (EClass) ePackage.getEClassifier(name);
 
 		if (null == eClass) {
 			eClass = EcoreFactory.eINSTANCE.createEClass();
 
-			eClass.setName(getEClassifierName(interface_));
+			eClass.setName(name);
 			eClass.setAbstract(true);
 			eClass.setInterface(true);
 
@@ -511,13 +511,13 @@
 	 * @return The (new) Ecore enum.
 	 */
 	public static EEnum createEEnum(EPackage ePackage, Enumeration enumeration) {
-		EEnum eEnum = (EEnum) ePackage
-			.getEClassifier(getEClassifierName(enumeration));
+		String name = getEClassifierName(enumeration);
+		EEnum eEnum = (EEnum) ePackage.getEClassifier(name);
 
 		if (null == eEnum) {
 			eEnum = EcoreFactory.eINSTANCE.createEEnum();
 
-			eEnum.setName(getEClassifierName(enumeration));
+			eEnum.setName(name);
 
 			ePackage.getEClassifiers().add(eEnum);
 
@@ -554,13 +554,13 @@
 	 * @return The (new) Ecore attribute.
 	 */
 	public static EAttribute createEAttribute(EClass eClass, Property property) {
-		EAttribute eAttribute = (EAttribute) eClass
-			.getEStructuralFeature(property.getName());
+		String name = getValidIdentifier(property.getName());
+		EAttribute eAttribute = (EAttribute) eClass.getEStructuralFeature(name);
 
 		if (null == eAttribute) {
 			eAttribute = EcoreFactory.eINSTANCE.createEAttribute();
 
-			eAttribute.setName(getValidIdentifier(property.getName()));
+			eAttribute.setName(name);
 			eAttribute.setChangeable(!property.isReadOnly());
 			eAttribute.setUpperBound(property.getUpper());
 			eAttribute.setLowerBound(property.getLower());
@@ -606,13 +606,13 @@
 	 * @return The (new) Ecore reference.
 	 */
 	public static EReference createEReference(EClass eClass, Property property) {
-		EReference eReference = (EReference) eClass
-			.getEStructuralFeature(property.getName());
+		String name = getValidIdentifier(property.getName());
+		EReference eReference = (EReference) eClass.getEStructuralFeature(name);
 
 		if (null == eReference) {
 			eReference = EcoreFactory.eINSTANCE.createEReference();
 
-			eReference.setName(getValidIdentifier(property.getName()));
+			eReference.setName(name);
 			eReference.setChangeable(true);
 			eReference.setContainment(true);
 			eReference.setUpperBound(property.getUpper());