HEAD - 118789 (fix CCE)
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
index e4dd8b6..1ac8a4a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
@@ -2417,17 +2417,20 @@
 				Iterator packages = projectInfo.secondaryTypes.keySet().iterator();
 				while (packages.hasNext()) {
 					String packName = (String) packages.next();
-					HashMap types = (HashMap) projectInfo.secondaryTypes.get(packName);
-					Iterator names = types.keySet().iterator();
-					while (names.hasNext()) {
-						String typeName = (String) names.next();
-						IType type = (IType) types.get(typeName);
-						if (file.equals(type.getResource())) {
-							types.remove(typeName);
-							if (types.size() == 0) {
-								projectInfo.secondaryTypes.remove(packName);
+					Object object = projectInfo.secondaryTypes.get(packName);
+					if (object instanceof HashMap) {
+						HashMap types = (HashMap) object;
+						Iterator names = types.keySet().iterator();
+						while (names.hasNext()) {
+							String typeName = (String) names.next();
+							IType type = (IType) types.get(typeName);
+							if (file.equals(type.getResource())) {
+								types.remove(typeName);
+								if (types.size() == 0) {
+									projectInfo.secondaryTypes.remove(packName);
+								}
+								return;
 							}
-							return;
 						}
 					}
 				}