[206138] stack overflow when using autocompletion on VoiceXML XSD
diff --git a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java b/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java
index 6b006c1..afd709d 100644
--- a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java
+++ b/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/XSDImpl.java
@@ -535,6 +535,14 @@
       return true;
     }
     XSDTypeDefinition rootType = typedef.getRootType();
+    
+    // Need to check if the base type is redefined/circular
+    // otherwise this will be an endless recursive call.
+    if (baseType.isCircular())
+    {
+      return true;
+    }
+    
     if (rootType == baseType)
     {
       // If we've hit the root, we aren't derived from it