Rolls back workaround change for https://bugs.eclipse.org/bugs/show_bug.cgi?id=212225.  This workaround is no longer needed, since the root JDT bug is fixed.  Existing test coverage discovered the problem and now works ok with the workaround removed.
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/TypeUtil.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/TypeUtil.java
index 85b7f47..d781689 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/TypeUtil.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/TypeUtil.java
@@ -15,7 +15,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jdt.core.IField;
 import org.eclipse.jdt.core.IJavaProject;
@@ -370,21 +369,10 @@
         LOOP_UNTIL_FIRST_MATCH:
             for (int i = 0; i < superTypes.length; i++)
         {
-            IType type = superTypes[i];
-            
-            // XXX: this is a partial workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=212225
-            // In certain cases, unresolved type names may cause resolveType to
-            // throw array out of bounds.
-            try
-            {
-            	resolved = type.resolveType(fullyQualifiedName);
-            }
-            catch (ArrayIndexOutOfBoundsException ae)
-            {
-            	resolved = null;
-            	JSFCommonPlugin.log(IStatus.WARNING, "Known issue detected.  See https://bugs.eclipse.org/bugs/show_bug.cgi?id=212225");
-            }
-            
+            final IType type = superTypes[i];
+
+            resolved = type.resolveType(fullyQualifiedName);
+
             if (resolved != null && resolved.length > 0)
             {
                 resolvedType = childType.getJavaProject().findType(resolved[0][0], resolved[0][1]);