*** empty log message ***
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Stereotype.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Stereotype.java
index a165bea..0f3d27f 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Stereotype.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/Stereotype.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: Stereotype.java,v 1.5 2004/06/02 17:55:37 khussey Exp $
+ * $Id: Stereotype.java,v 1.6 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2;
 
@@ -59,13 +59,6 @@
 	public Set getAllExtendedEClasses();
 
 	/**
-	 * Retrieves the metaclasses extended by this stereotype.
-	 * 
-	 * @return The metaclasses extended by this stereotype.
-	 */
-	public Set getExtendedMetaclasses();
-
-	/**
 	 * Retrieves the profile that owns this stereotype.
 	 * 
 	 * @return The profile that owns this stereotype.
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ElementImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ElementImpl.java
index 6288d96..d3ae600 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ElementImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ElementImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ElementImpl.java,v 1.13 2004/06/02 05:02:25 khussey Exp $
+ * $Id: ElementImpl.java,v 1.14 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -384,29 +384,34 @@
 			qualifiedStereotypeName);
 	}
 
+	private static Method GET_APPLICABLE_STEREOTYPES_METHOD = null;
+
+	static {
+		try {
+			GET_APPLICABLE_STEREOTYPES_METHOD = ElementImpl.class.getMethod(
+				"getApplicableStereotypes", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Element#getApplicableStereotypes()
 	 */
 	public Set getApplicableStereotypes() {
+		Set applicableStereotypes = (Set) getCacheAdapter().get(this,
+			GET_APPLICABLE_STEREOTYPES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getApplicableStereotypes", //$NON-NLS-1$
-				null);
-			Set applicableStereotypes = StereotypeOperations
+		if (null == applicableStereotypes) {
+			applicableStereotypes = StereotypeOperations
 				.getApplicableStereotypes(this);
-
-			if (null == applicableStereotypes) {
-				applicableStereotypes = StereotypeOperations
-					.getApplicableStereotypes(this);
-				getCacheAdapter().put(this, method, applicableStereotypes);
-			}
-
-			return applicableStereotypes;
-		} catch (Exception e) {
-			return StereotypeOperations.getApplicableStereotypes(this);
+			getCacheAdapter().put(this, GET_APPLICABLE_STEREOTYPES_METHOD,
+				applicableStereotypes);
 		}
+
+		return applicableStereotypes;
 	}
 
 	/*
@@ -419,27 +424,34 @@
 			qualifiedStereotypeName);
 	}
 
+	private static Method GET_APPLIED_STEREOTYPES_METHOD = null;
+
+	static {
+		try {
+			GET_APPLIED_STEREOTYPES_METHOD = ElementImpl.class.getMethod(
+				"getAppliedStereotypes", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Element#getAppliedStereotypes()
 	 */
 	public Set getAppliedStereotypes() {
+		Set appliedStereotypes = (Set) getCacheAdapter().get(this,
+			GET_APPLIED_STEREOTYPES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getAppliedStereotypes", null); //$NON-NLS-1$
-			Set appliedStereotypes = (Set) getCacheAdapter().get(this, method);
-
-			if (null == appliedStereotypes) {
-				appliedStereotypes = StereotypeOperations
-					.getAppliedStereotypes(this);
-				getCacheAdapter().put(this, method, appliedStereotypes);
-			}
-
-			return appliedStereotypes;
-		} catch (Exception e) {
-			return StereotypeOperations.getAppliedStereotypes(this);
+		if (null == appliedStereotypes) {
+			appliedStereotypes = StereotypeOperations
+				.getAppliedStereotypes(this);
+			getCacheAdapter().put(this, GET_APPLIED_STEREOTYPES_METHOD,
+				appliedStereotypes);
 		}
+
+		return appliedStereotypes;
 	}
 
 	/*
@@ -535,26 +547,31 @@
 		ElementOperations.addKeyword(this, keyword);
 	}
 
+	private static Method GET_KEYWORDS_METHOD = null;
+
+	static {
+		try {
+			GET_KEYWORDS_METHOD = ElementImpl.class.getMethod(
+				"getKeywords", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Element#getKeywords()
 	 */
 	public Set getKeywords() {
+		Set keywords = (Set) getCacheAdapter().get(this, GET_KEYWORDS_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getKeywords", null); //$NON-NLS-1$
-			Set keywords = (Set) getCacheAdapter().get(this, method);
-
-			if (null == keywords) {
-				keywords = ElementOperations.getKeywords(this);
-				getCacheAdapter().put(this, method, keywords);
-			}
-
-			return keywords;
-		} catch (Exception e) {
-			return ElementOperations.getKeywords(this);
+		if (null == keywords) {
+			keywords = ElementOperations.getKeywords(this);
+			getCacheAdapter().put(this, GET_KEYWORDS_METHOD, keywords);
 		}
+
+		return keywords;
 	}
 
 	/*
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NamespaceImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NamespaceImpl.java
index 4c4dd79..d268930 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NamespaceImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/NamespaceImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: NamespaceImpl.java,v 1.10 2004/06/02 05:02:26 khussey Exp $
+ * $Id: NamespaceImpl.java,v 1.11 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -654,29 +654,33 @@
 
 	// <!-- begin-custom-operations -->
 
+	private static Method GET_IMPORTED_PACKAGES_METHOD = null;
+
+	static {
+		try {
+			GET_IMPORTED_PACKAGES_METHOD = NamespaceImpl.class.getMethod(
+				"getImportedPackages", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Namespace#getImportedPackages()
 	 */
 	public Set getImportedPackages() {
+		Set importedPackages = (Set) getCacheAdapter().get(eResource(), this,
+			GET_IMPORTED_PACKAGES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getImportedPackages", null); //$NON-NLS-1$
-			Set importedPackages = (Set) getCacheAdapter().get(eResource(),
-				this, method);
-
-			if (null == importedPackages) {
-				importedPackages = NamespaceOperations
-					.getImportedPackages(this);
-				getCacheAdapter().put(eResource(), this, method,
-					importedPackages);
-			}
-
-			return importedPackages;
-		} catch (Exception e) {
-			return NamespaceOperations.getImportedPackages(this);
+		if (null == importedPackages) {
+			importedPackages = NamespaceOperations.getImportedPackages(this);
+			getCacheAdapter().put(eResource(), this,
+				GET_IMPORTED_PACKAGES_METHOD, importedPackages);
 		}
+
+		return importedPackages;
 	}
 
 	/*
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PackageImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PackageImpl.java
index 7756eb0..60c5bd9 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PackageImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/PackageImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: PackageImpl.java,v 1.13 2004/06/02 16:01:35 khussey Exp $
+ * $Id: PackageImpl.java,v 1.14 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -1083,36 +1083,42 @@
 
 	// <!-- begin-custom-operations -->
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Package#apply(org.eclipse.uml2.Profile)
 	 */
 	public void apply(Profile profile) {
 		ProfileOperations.apply(profile, this);
 	}
 
+	private static Method GET_ALL_APPLIED_PROFILES_METHOD = null;
+
+	static {
+		try {
+			GET_ALL_APPLIED_PROFILES_METHOD = PackageImpl.class.getMethod(
+				"getAllAppliedProfiles", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Package#getAllAppliedProfiles()
 	 */
 	public Set getAllAppliedProfiles() {
+		Set allAppliedProfiles = (Set) getCacheAdapter().get(eResource(), this,
+			GET_ALL_APPLIED_PROFILES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getAllAppliedProfiles", null); //$NON-NLS-1$
-			Set allAppliedProfiles = (Set) getCacheAdapter().get(eResource(),
-				this, method);
-
-			if (null == allAppliedProfiles) {
-				allAppliedProfiles = ProfileOperations
-					.getAllAppliedProfiles(this);
-				getCacheAdapter().put(eResource(), this, method,
-					allAppliedProfiles);
-			}
-
-			return allAppliedProfiles;
-		} catch (Exception e) {
-			return ProfileOperations.getAllAppliedProfiles(this);
+		if (null == allAppliedProfiles) {
+			allAppliedProfiles = ProfileOperations.getAllAppliedProfiles(this);
+			getCacheAdapter().put(eResource(), this,
+				GET_ALL_APPLIED_PROFILES_METHOD, allAppliedProfiles);
 		}
+
+		return allAppliedProfiles;
 	}
 
 	/*
@@ -1124,14 +1130,18 @@
 		return ProfileOperations.isApplied(profile, this);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Package#unapply(org.eclipse.uml2.Profile)
 	 */
 	public void unapply(Profile profile) {
 		ProfileOperations.unapply(profile, this);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Package#getAppliedVersion(org.eclipse.uml2.Profile)
 	 */
 	public String getAppliedVersion(Profile profile) {
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProfileImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProfileImpl.java
index 858ce0b..a7b739b 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProfileImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/ProfileImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: ProfileImpl.java,v 1.8 2004/06/02 05:02:25 khussey Exp $
+ * $Id: ProfileImpl.java,v 1.9 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -606,36 +606,53 @@
 
 	// <!-- begin-custom-operations -->
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Profile#define()
 	 */
 	public void define() {
 		ProfileOperations.define(this);
 	}
 
+	private static Method GET_REFERENCED_METACLASSES_METHOD = null;
+
+	static {
+		try {
+			GET_REFERENCED_METACLASSES_METHOD = ProfileImpl.class.getMethod(
+				"getReferencedMetaclasses", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Profile#getReferencedMetaclasses()
 	 */
 	public Set getReferencedMetaclasses() {
+		Set referencedMetaclasses = (Set) getCacheAdapter().get(eResource(),
+			this, GET_REFERENCED_METACLASSES_METHOD);
 
+		if (null == referencedMetaclasses) {
+			referencedMetaclasses = ProfileOperations
+				.getReferencedMetaclasses(this);
+			getCacheAdapter().put(eResource(), this,
+				GET_REFERENCED_METACLASSES_METHOD, referencedMetaclasses);
+		}
+
+		return referencedMetaclasses;
+	}
+
+	private static Method GET_REFERENCED_METAMODELS_METHOD = null;
+
+	static {
 		try {
-			Method method = getClass().getMethod(
-				"getReferencedMetaclasses", null); //$NON-NLS-1$
-			Set referencedMetaclasses = (Set) getCacheAdapter().get(
-				eResource(), this, method);
-
-			if (null == referencedMetaclasses) {
-				referencedMetaclasses = ProfileOperations
-					.getReferencedMetaclasses(this);
-				getCacheAdapter().put(eResource(), this, method,
-					referencedMetaclasses);
-			}
-
-			return referencedMetaclasses;
+			GET_REFERENCED_METAMODELS_METHOD = ProfileImpl.class.getMethod(
+				"getReferencedMetamodels", null); //$NON-NLS-1$
 		} catch (Exception e) {
-			return ProfileOperations.getReferencedMetaclasses(this);
+			// do nothing
 		}
 	}
 
@@ -645,24 +662,17 @@
 	 * @see org.eclipse.uml2.Profile#getReferencedMetamodels()
 	 */
 	public Set getReferencedMetamodels() {
+		Set referencedMetamodels = (Set) getCacheAdapter().get(eResource(),
+			this, GET_REFERENCED_METAMODELS_METHOD);
 
-		try {
-			Method method = getClass().getMethod(
-				"getReferencedMetamodels", null); //$NON-NLS-1$
-			Set referencedMetamodels = (Set) getCacheAdapter().get(eResource(),
-				this, method);
-
-			if (null == referencedMetamodels) {
-				referencedMetamodels = ProfileOperations
-					.getReferencedMetamodels(this);
-				getCacheAdapter().put(eResource(), this, method,
-					referencedMetamodels);
-			}
-
-			return referencedMetamodels;
-		} catch (Exception e) {
-			return ProfileOperations.getReferencedMetamodels(this);
+		if (null == referencedMetamodels) {
+			referencedMetamodels = ProfileOperations
+				.getReferencedMetamodels(this);
+			getCacheAdapter().put(eResource(), this,
+				GET_REFERENCED_METAMODELS_METHOD, referencedMetamodels);
 		}
+
+		return referencedMetamodels;
 	}
 
 	/*
@@ -674,21 +684,27 @@
 		return ProfileOperations.getVersion(this);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Profile#isDefined()
 	 */
 	public boolean isDefined() {
 		return ProfileOperations.isDefined(this);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Profile#referenceMetaclass(org.eclipse.uml2.Class)
 	 */
 	public void referenceMetaclass(org.eclipse.uml2.Class class_) {
 		ProfileOperations.referenceMetaclass(this, class_);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.Profile#referenceMetamodel(org.eclipse.uml2.Model)
 	 */
 	public void referenceMetamodel(Model model) {
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
index 50dd028..8b02ed7 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StereotypeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StereotypeImpl.java,v 1.16 2004/06/02 17:55:37 khussey Exp $
+ * $Id: StereotypeImpl.java,v 1.17 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -705,6 +705,17 @@
 
 	// <!-- begin-custom-operations -->
 
+	private static Method GET_ALL_EXTENDED_E_CLASSES_METHOD = null;
+
+	static {
+		try {
+			GET_ALL_EXTENDED_E_CLASSES_METHOD = StereotypeImpl.class.getMethod(
+				"getAllExtendedEClasses", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -721,47 +732,17 @@
 	 * @see org.eclipse.uml2.Stereotype#getExtendedEClasses()
 	 */
 	public Set getAllExtendedEClasses() {
+		Set allExtendedEClasses = (Set) getCacheAdapter().get(this,
+			GET_ALL_EXTENDED_E_CLASSES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getAllExtendedEClasses", null); //$NON-NLS-1$
-			Set allExtendedEClasses = (Set) getCacheAdapter().get(this, method);
-
-			if (null == allExtendedEClasses) {
-				allExtendedEClasses = StereotypeOperations
-					.getAllExtendedEClasses(this);
-				getCacheAdapter().put(this, method, allExtendedEClasses);
-			}
-
-			return allExtendedEClasses;
-		} catch (Exception e) {
-			return StereotypeOperations.getAllExtendedEClasses(this);
+		if (null == allExtendedEClasses) {
+			allExtendedEClasses = StereotypeOperations
+				.getAllExtendedEClasses(this);
+			getCacheAdapter().put(this, GET_ALL_EXTENDED_E_CLASSES_METHOD,
+				allExtendedEClasses);
 		}
-	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.uml2.Stereotype#getExtendedMetaclasses()
-	 */
-	public Set getExtendedMetaclasses() {
-
-		try {
-			Method method = getClass()
-				.getMethod("getExtendedMetaclasses", null); //$NON-NLS-1$
-			Set extendedMetaclasses = (Set) getCacheAdapter().get(eResource(),
-				this, method);
-
-			if (null == extendedMetaclasses) {
-				extendedMetaclasses = StereotypeOperations
-					.getExtendedMetaclasses(this);
-				getCacheAdapter().put(eResource(), this, method,
-					extendedMetaclasses);
-			}
-
-			return extendedMetaclasses;
-		} catch (Exception e) {
-			return StereotypeOperations.getExtendedMetaclasses(this);
-		}
+		return allExtendedEClasses;
 	}
 
 	/*
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredActivityNodeImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredActivityNodeImpl.java
index 6c5dde2..7e92d8d 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredActivityNodeImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/StructuredActivityNodeImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StructuredActivityNodeImpl.java,v 1.10 2004/06/02 05:02:25 khussey Exp $
+ * $Id: StructuredActivityNodeImpl.java,v 1.11 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -1320,29 +1320,33 @@
 
 	// <!-- begin-custom-operations -->
 
+	private static Method GET_IMPORTED_PACKAGES_METHOD = null;
+
+	static {
+		try {
+			GET_IMPORTED_PACKAGES_METHOD = StructuredActivityNodeImpl.class
+				.getMethod("getImportedPackages", null); //$NON-NLS-1$
+		} catch (Exception e) {
+			// do nothing
+		}
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.uml2.Namespace#getImportedPackages()
 	 */
 	public Set getImportedPackages() {
+		Set importedPackages = (Set) getCacheAdapter().get(eResource(), this,
+			GET_IMPORTED_PACKAGES_METHOD);
 
-		try {
-			Method method = getClass().getMethod("getImportedPackages", null); //$NON-NLS-1$
-			Set importedPackages = (Set) getCacheAdapter().get(eResource(),
-				this, method);
-
-			if (null == importedPackages) {
-				importedPackages = NamespaceOperations
-					.getImportedPackages(this);
-				getCacheAdapter().put(eResource(), this, method,
-					importedPackages);
-			}
-
-			return importedPackages;
-		} catch (Exception e) {
-			return NamespaceOperations.getImportedPackages(this);
+		if (null == importedPackages) {
+			importedPackages = NamespaceOperations.getImportedPackages(this);
+			getCacheAdapter().put(eResource(), this,
+				GET_IMPORTED_PACKAGES_METHOD, importedPackages);
 		}
+
+		return importedPackages;
 	}
 
 	/*
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/StereotypeOperations.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/StereotypeOperations.java
index 79b9f06..51a9635 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/StereotypeOperations.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/StereotypeOperations.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: StereotypeOperations.java,v 1.8 2004/06/02 17:55:37 khussey Exp $
+ * $Id: StereotypeOperations.java,v 1.9 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.internal.operation;
 
@@ -185,26 +185,32 @@
 	protected static void getAllExtendedEClassesHelper(Stereotype stereotype,
 			Set allExtendedEClasses) {
 
-		extendedMetaclassesLoop : for (Iterator extendedMetaclasses = stereotype
-			.getExtendedMetaclasses().iterator(); extendedMetaclasses.hasNext();) {
+		ownedAttributesLoop : for (Iterator ownedAttributes = stereotype
+			.getOwnedAttributes().iterator(); ownedAttributes.hasNext();) {
 
-			EClassifier eClassifier = UML2Package.eINSTANCE
-				.getEClassifier(((org.eclipse.uml2.Class) extendedMetaclasses
-					.next()).getName());
+			Property property = (Property) ownedAttributes.next();
+			Type type = property.getType();
 
-			if (EClass.class.isInstance(eClassifier)) {
+			if (org.eclipse.uml2.Class.class.isInstance(type)
+				&& Extension.class.isInstance(property.getAssociation())) {
 
-				for (Iterator eClasses = allExtendedEClasses.iterator(); eClasses
-					.hasNext();) {
+				EClassifier eClassifier = UML2Package.eINSTANCE
+					.getEClassifier(type.getName());
 
-					EClass eClass = (EClass) eClasses.next();
+				if (EClass.class.isInstance(eClassifier)) {
 
-					if (((EClass) eClassifier).isSuperTypeOf(eClass)) {
-						continue extendedMetaclassesLoop;
+					for (Iterator eClasses = allExtendedEClasses.iterator(); eClasses
+						.hasNext();) {
+
+						EClass eClass = (EClass) eClasses.next();
+
+						if (((EClass) eClassifier).isSuperTypeOf(eClass)) {
+							continue ownedAttributesLoop;
+						}
 					}
-				}
 
-				allExtendedEClasses.add(eClassifier);
+					allExtendedEClasses.add(eClassifier);
+				}
 			}
 		}
 
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/CacheAdapter.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/CacheAdapter.java
index 7508d81..8f2e3b0 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/CacheAdapter.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/util/CacheAdapter.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: CacheAdapter.java,v 1.4 2004/06/01 20:05:27 khussey Exp $
+ * $Id: CacheAdapter.java,v 1.5 2004/06/02 19:52:53 khussey Exp $
  */
 package org.eclipse.uml2.util;
 
@@ -131,6 +131,11 @@
 
 	public Object put(Resource resource, EObject eObject, Object key,
 			Object value) {
+
+		if (null == key) {
+			throw new IllegalArgumentException(String.valueOf(key));
+		}
+
 		Map resourceMap = (Map) values.get(resource);
 
 		if (null == resourceMap) {