[348221] JEM needs to handle a flush better (redux)
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
index 9337977..4ae1b26 100644
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
+++ b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/JavaClassImpl.java
@@ -238,7 +238,15 @@
 
 	protected void collectMethodsExtended(Map methods, boolean onlyPublic, List excludedClasses, List excludedMethods) {
 		Iterator it1, it2;
-		it2 = getExtendedLookupIterator();
+		// copy over the contents
+		List extendedLookupClasses = new ArrayList();
+		EList extendedLookupEList = null;
+		if (isInterface())
+			extendedLookupEList = getImplementsInterfaces();
+		else
+			extendedLookupEList = getESuperTypes();
+		extendedLookupClasses.addAll(extendedLookupEList);
+		it2 = extendedLookupClasses.iterator();
 		JavaClassImpl javaClass;
 		while (it2.hasNext()) {
 			javaClass = (JavaClassImpl) it2.next();
diff --git a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/MethodImpl.java b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/MethodImpl.java
index f42ed61..149140c 100644
--- a/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/MethodImpl.java
+++ b/plugins/org.eclipse.jem/mofjava/org/eclipse/jem/java/internal/impl/MethodImpl.java
@@ -1008,5 +1008,23 @@
 	    return eCrossReferences;
 	  }
 
+		/**
+	   * <!-- begin-user-doc -->
+	   * <!-- end-user-doc -->
+	   */
+	public void setEType(EClassifier newEType)
+	{
+		EClassifier newContainer = newEType;
+		if (eType != null && newEType == null)
+		{
+			ReadAdaptor readAdaptor = getReadAdapter();
+			if (readAdaptor instanceof JavaReflectionAdaptor)
+			{
+				newContainer = ((JavaReflectionAdaptor)readAdaptor).createJavaClassRef(((JavaHelpers)eType).getJavaName());
+			}
+		}
+	    super.setEType(newContainer);
+	  }
+
 }