diff --git a/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/CMDescriptionBuilder.java b/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/CMDescriptionBuilder.java
index 49c9da1..f1cc690 100644
--- a/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/CMDescriptionBuilder.java
+++ b/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/CMDescriptionBuilder.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2002, 2006 IBM Corporation and others.
+ * Copyright (c) 2002, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,6 +12,8 @@
  *******************************************************************************/
 package org.eclipse.wst.xml.core.internal.contentmodel.util;
 
+import java.util.Stack;
+
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAnyElement;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
@@ -27,6 +29,7 @@
   protected StringBuffer sb;
   protected CMNode root;
   protected boolean isRootVisited;
+  protected Stack visitedCMGroupStack = new Stack();
 
   public String buildDescription(CMNode node)
   {
@@ -59,6 +62,11 @@
 
   public void visitCMGroup(CMGroup group)
   {
+    // This is to prevent recursion.
+    if (visitedCMGroupStack.contains(group))
+    {
+      return;
+    }
     int op = group.getOperator();
     if (op == CMGroup.ALL)
     {
@@ -73,7 +81,10 @@
     {
       separator = " | "; //$NON-NLS-1$
     }
-
+    
+    // Push the current group to check later to avoid potential recursion
+    visitedCMGroupStack.push(group);
+   
     CMNodeList nodeList = group.getChildNodes();
     int size = nodeList.getLength();
     for (int i = 0; i < size; i++)
@@ -84,6 +95,10 @@
         sb.append(separator);
       }
     }
+    
+    // Pop the current group
+    visitedCMGroupStack.pop();
+    
     sb.append(")"); //$NON-NLS-1$
     addOccurenceSymbol(group);
   }
