diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImpl.java
index e6464ee..f2c66f6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ElementImpl.java,v 1.31.2.4 2006/10/20 21:06:49 khussey Exp $
+ * $Id: ElementImpl.java,v 1.31.2.5 2006/10/20 21:47:40 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -757,22 +757,14 @@
 			Resource.Internal eInternalResource = eInternalResource();
 
 			if (eInternalResource == null || !eInternalResource.isLoading()) {
-				unapplyAllNonApplicableStereotypes();
-				applyAllRequiredStereotypes();
+				ElementOperations.unapplyAllNonApplicableStereotypes(this, false);
+				ElementOperations.applyAllRequiredStereotypes(this, false);
 			}
 		}
 
 		return msgs;
 	}
 
-	protected void unapplyAllNonApplicableStereotypes() {
-		ElementOperations.unapplyAllNonApplicableStereotypes(this, false);
-	}
-
-	protected void applyAllRequiredStereotypes() {
-		ElementOperations.applyAllRequiredStereotypes(this, false);
-	}
-
 	private static final int ADAPTING = 1 << 7;
 
 	public EList eAdapters() {
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
index f0e35ef..ebbb352 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - initial API and implementation
  *
- * $Id: ProfileApplicationImpl.java,v 1.17.2.1 2006/10/20 21:06:49 khussey Exp $
+ * $Id: ProfileApplicationImpl.java,v 1.17.2.2 2006/10/20 21:47:40 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -587,8 +587,4 @@
 			|| eIsSet(UMLPackage.PROFILE_APPLICATION__APPLYING_PACKAGE);
 	}
 
-	protected void applyAllRequiredStereotypes() {
-		// do nothing
-	}
-
 } //ProfileApplicationImpl
