[Bug 228413] ArtifactEdit.dispose() throws ClassCastException
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
index 714c53b..408a913 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
@@ -158,10 +158,13 @@
 			}
 		
 		for (int i = 0; i < aList.size(); i++) {
-				IModelProviderListener mod;
-				mod = (IModelProviderListener) aList.get(i);
+				IModelProvider mod;
+				mod = (IModelProvider) aList.get(i);
 				try {
-					mod.modelsChanged(anEvent);
+					if (mod instanceof IModelProviderListener)
+					{
+						((IModelProviderListener)mod).modelsChanged(anEvent);
+					}
 				} catch (Exception e) {
 					Logger.getLogger().logError(e);
 				}