[309596] Be sure to reset the analysisState when doing traverseToRootForAnalaysis.
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDAttributeGroupDefinitionImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDAttributeGroupDefinitionImpl.java
index 92c324b..57678fd 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDAttributeGroupDefinitionImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDAttributeGroupDefinitionImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDAttributeGroupDefinitionImpl.java,v 1.20 2009/04/06 12:07:12 emerks Exp $
+ * $Id: XSDAttributeGroupDefinitionImpl.java,v 1.21 2011/01/21 01:31:43 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -257,6 +257,13 @@
   }
 
   @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
+  @Override
   protected boolean analyze()
   {
     switch (analysisState)
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDComplexTypeDefinitionImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDComplexTypeDefinitionImpl.java
index afce03d..1c5615c 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDComplexTypeDefinitionImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDComplexTypeDefinitionImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDComplexTypeDefinitionImpl.java,v 1.30 2009/03/14 16:26:47 emerks Exp $
+ * $Id: XSDComplexTypeDefinitionImpl.java,v 1.31 2011/01/21 01:31:43 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -1177,6 +1177,13 @@
     }
   }
 
+  @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
   protected XSDParticle extensionParticle;
   protected XSDWildcardImpl effectiveWildcard;
   @Override
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDElementDeclarationImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDElementDeclarationImpl.java
index 9a7abf0..5febf64 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDElementDeclarationImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDElementDeclarationImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDElementDeclarationImpl.java,v 1.31 2008/12/22 14:25:47 emerks Exp $
+ * $Id: XSDElementDeclarationImpl.java,v 1.32 2011/01/21 01:31:42 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -657,6 +657,13 @@
   }
 
   @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
+  @Override
   protected boolean analyze()
   {
     switch (analysisState)
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDModelGroupDefinitionImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDModelGroupDefinitionImpl.java
index 6c8425d..3f3ab6f 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDModelGroupDefinitionImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDModelGroupDefinitionImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDModelGroupDefinitionImpl.java,v 1.18 2008/12/22 14:25:48 emerks Exp $
+ * $Id: XSDModelGroupDefinitionImpl.java,v 1.19 2011/01/21 01:31:43 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -196,6 +196,13 @@
   }
 
   @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
+  @Override
   protected boolean analyze()
   {
     switch (analysisState)
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDSimpleTypeDefinitionImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDSimpleTypeDefinitionImpl.java
index 589fe25..359f1d3 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDSimpleTypeDefinitionImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDSimpleTypeDefinitionImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDSimpleTypeDefinitionImpl.java,v 1.37 2010/03/19 16:45:38 emerks Exp $
+ * $Id: XSDSimpleTypeDefinitionImpl.java,v 1.38 2011/01/21 01:31:43 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -771,6 +771,13 @@
     }
   }
 
+  @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
   protected XSDWhiteSpaceFacet effectiveWhiteSpaceFacet;
   @Override
   protected void handleAnalysis()
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDTypeDefinitionImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDTypeDefinitionImpl.java
index ae81ae9..395122d 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDTypeDefinitionImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDTypeDefinitionImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDTypeDefinitionImpl.java,v 1.12 2007/02/20 17:42:20 emerks Exp $
+ * $Id: XSDTypeDefinitionImpl.java,v 1.13 2011/01/21 01:31:42 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -248,6 +248,13 @@
   }
 
   @Override
+  protected void traverseToRootForAnalysis()
+  {
+    analysisState = UNANALYZED;
+    super.traverseToRootForAnalysis();
+  }
+
+  @Override
   protected boolean analyze()
   {
     switch (analysisState)