You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2011/09/22 14:49:53 UTC

svn commit: r1174099 [8/8] - in /uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker: ./ action/ condition/ constraint/ engine/ parser/ resource/ rule/ rule/quantifier/ type/ verbalize/ visitor/

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.cas.TOP_Type
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class DebugScriptApply extends ProfiledAnnotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/DebugScriptApply_Type.java Thu Sep 22 12:49:48 2011
@@ -13,7 +13,7 @@ import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class DebugScriptApply_Type extends ProfiledAnnotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.tcas.Annotat
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class EvalAnnotation extends Annotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/EvalAnnotation_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class EvalAnnotation_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.cas.TOP_Type
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class FalseNegative extends EvalAnnotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalseNegative_Type.java Thu Sep 22 12:49:48 2011
@@ -11,7 +11,7 @@ import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class FalseNegative_Type extends EvalAnnotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.cas.TOP_Type
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class FalsePositive extends EvalAnnotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/FalsePositive_Type.java Thu Sep 22 12:49:48 2011
@@ -11,7 +11,7 @@ import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class FalsePositive_Type extends EvalAnnotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.tcas.Annotat
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class ProfiledAnnotation extends Annotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/ProfiledAnnotation_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class ProfiledAnnotation_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics.java Thu Sep 22 12:49:48 2011
@@ -13,8 +13,8 @@ import org.apache.uima.jcas.cas.TOP_Type
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class Statistics extends TOP {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/Statistics_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.cas.TOP_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class Statistics_Type extends TOP_Type {
   /** @generated */
@@ -64,7 +64,7 @@ public class Statistics_Type extends TOP
     if (lowLevelTypeChecks)
       return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_name), i, true);
     jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_name), i);
-	return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_name), i);
+  return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_name), i);
   }
    
   /** @generated */ 
@@ -101,7 +101,7 @@ public class Statistics_Type extends TOP
     if (lowLevelTypeChecks)
       return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_total), i, true);
     jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_total), i);
-	return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_total), i);
+  return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_total), i);
   }
    
   /** @generated */ 
@@ -138,7 +138,7 @@ public class Statistics_Type extends TOP
     if (lowLevelTypeChecks)
       return ll_cas.ll_getIntArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_amount), i, true);
     jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_amount), i);
-	return ll_cas.ll_getIntArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_amount), i);
+  return ll_cas.ll_getIntArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_amount), i);
   }
    
   /** @generated */ 
@@ -175,7 +175,7 @@ public class Statistics_Type extends TOP
     if (lowLevelTypeChecks)
       return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_part), i, true);
     jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_part), i);
-	return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_part), i);
+  return ll_cas.ll_getDoubleArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_part), i);
   }
    
   /** @generated */ 

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.tcas.Annotat
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class TextMarkerAnnotation extends Annotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerAnnotation_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class TextMarkerAnnotation_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic.java Thu Sep 22 12:49:48 2011
@@ -1,29 +1,35 @@
 /* First created by JCasGen Wed Apr 16 17:01:16 CEST 2008 */
 package org.apache.uima.textmarker.type;
 
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.uima.cas.Type;
 import org.apache.uima.cas.text.AnnotationFS;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 import org.apache.uima.jcas.cas.TOP_Type;
 import org.apache.uima.jcas.tcas.Annotation;
 
-/** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
- * @generated */
+/**
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011 XML source:
+ * D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
+ * 
+ * @generated
+ */
 public class TextMarkerBasic extends Annotation {
 
-  private Set<String> partOf = new HashSet<String>(20);
+  private Set<Type> partOf = new HashSet<Type>(20);
 
-  private Map<String, AnnotationFS> typeMap = new HashMap<String, AnnotationFS>(7);
+  private final Map<Type, Set<AnnotationFS>> beginMap = new HashMap<Type, Set<AnnotationFS>>(10);
 
-  private Map<String, AnnotationFS> instanceMap = new HashMap<String, AnnotationFS>(10);
+  private final Map<Type, Set<AnnotationFS>> endMap = new HashMap<Type, Set<AnnotationFS>>(10);
+
+  // private Map<String, AnnotationFS> typeMap = new HashMap<String, AnnotationFS>(7);
+
+  // private Map<String, AnnotationFS> instanceMap = new HashMap<String, AnnotationFS>(10);
 
   public Map<String, String> tags = new HashMap<String, String>(20);
 
@@ -35,42 +41,100 @@ public class TextMarkerBasic extends Ann
     return tags;
   }
 
-  public void setAnnotation(String name, AnnotationFS annotation, boolean instance) {
-    if (instance) {
-      typeMap.put(name, annotation);
-      instanceMap.put(name, annotation);
-    } else if (!instanceMap.containsKey(name)) {
-      typeMap.put(name, annotation);
-    }
+  // public void setAnnotation(String name, AnnotationFS annotation, boolean instance) {
+  // if (instance) {
+  // typeMap.put(name, annotation);
+  // instanceMap.put(name, annotation);
+  // } else if (!instanceMap.containsKey(name)) {
+  // typeMap.put(name, annotation);
+  // }
+  // }
+  //
+  // public void removeAnnotation(String name, boolean instance) {
+  // if (instance && instanceMap.containsKey(name)) {
+  // typeMap.remove(name);
+  // instanceMap.remove(name);
+  // } else if (!instance && !instanceMap.containsKey(name)) {
+  // typeMap.remove(name);
+  // }
+  // }
+
+  public void addPartOf(Type type) {
+    partOf.add(type);
   }
 
-  public void removeAnnotation(String name, boolean instance) {
-    if (instance && instanceMap.containsKey(name)) {
-      typeMap.remove(name);
-      instanceMap.remove(name);
-    } else if (!instance && !instanceMap.containsKey(name)) {
-      typeMap.remove(name);
-    }
+  public void removePartOf(Type type) {
+    partOf.remove(type);
   }
 
-  public void addPartOf(String type) {
-    partOf.add(type);
+  // public boolean isAnchorOf(String name) {
+  // return typeMap.containsKey(name);
+  // }
+
+  // public AnnotationFS getType(String name) {
+  // return typeMap.get(name);
+  // }
+
+  public boolean isPartOf(Type type) {
+    return partOf.contains(type);
   }
 
-  public void removePartOf(String type) {
-    partOf.remove(type);
+  // public Collection<AnnotationFS> getAnchors() {
+  // return typeMap.values();
+  // }
+
+  public Set<AnnotationFS> getBeginAnchors(Type type) {
+    return beginMap.get(type);
+  }
+
+  public Set<AnnotationFS> getEndAnchors(Type type) {
+    return endMap.get(type);
+  }
+
+  public boolean beginsWith(Type type) {
+    return beginMap.containsKey(type);
+  }
+
+  public boolean endsWith(Type type) {
+    return endMap.containsKey(type);
+  }
+
+  public void addBegin(AnnotationFS annotation, Type type) {
+    Set<AnnotationFS> list = beginMap.get(type);
+    if (list == null) {
+      list = new HashSet<AnnotationFS>();
+      beginMap.put(type, list);
+    }
+    list.add(annotation);
   }
 
-  public boolean isAnchorOf(String name) {
-    return typeMap.containsKey(name);
+  public void addEnd(AnnotationFS annotation, Type type) {
+    Set<AnnotationFS> list = endMap.get(type);
+    if (list == null) {
+      list = new HashSet<AnnotationFS>();
+      endMap.put(type, list);
+    }
+    list.add(annotation);
   }
 
-  public AnnotationFS getType(String name) {
-    return typeMap.get(name);
+  public void removeBegin(AnnotationFS annotation, Type type) {
+    Set<AnnotationFS> list = beginMap.get(type);
+    if (list != null) {
+      list.remove(annotation);
+      if (list.isEmpty()) {
+        beginMap.remove(annotation.getType());
+      }
+    }
   }
 
-  public boolean isPartOf(String name) {
-    return partOf.contains(name);
+  public void removeEnd(AnnotationFS annotation, Type type) {
+    Set<AnnotationFS> list = endMap.get(type);
+    if (list != null) {
+      list.remove(annotation);
+      if (list.isEmpty()) {
+        endMap.remove(annotation.getType());
+      }
+    }
   }
 
   /**
@@ -87,15 +151,18 @@ public class TextMarkerBasic extends Ann
 
   /** @generated */
   @Override
-  public int getTypeIndexID() {return typeIndexID;}
- 
+  public int getTypeIndexID() {
+    return typeIndexID;
+  }
+
   /**
    * Never called. Disable default constructor
    * 
    * @generated
    */
-  protected TextMarkerBasic() {}
-    
+  protected TextMarkerBasic() {
+  }
+
   /**
    * Internal - constructor used by generator
    * 
@@ -105,12 +172,12 @@ public class TextMarkerBasic extends Ann
     super(addr, type);
     readObject();
   }
-  
+
   /** @generated */
   public TextMarkerBasic(JCas jcas) {
     super(jcas);
-    readObject();   
-  } 
+    readObject();
+  }
 
   /** @generated */
   public TextMarkerBasic(JCas jcas, int begin, int end) {
@@ -118,10 +185,13 @@ public class TextMarkerBasic extends Ann
     setBegin(begin);
     setEnd(end);
     readObject();
-  }   
+  }
 
-  /** <!-- begin-user-doc --> Write your own initialization here <!-- end-user-doc -->
-  @generated modifiable */
+  /**
+   * <!-- begin-user-doc --> Write your own initialization here <!-- end-user-doc -->
+   * 
+   * @generated modifiable
+   */
   private void readObject() {
   }
 
@@ -134,20 +204,34 @@ public class TextMarkerBasic extends Ann
    * @generated
    */
   public String getReplacement() {
-    if (TextMarkerBasic_Type.featOkTst && ((TextMarkerBasic_Type)jcasType).casFeat_replacement == null)
-      jcasType.jcas.throwFeatMissing("replacement", "org.apache.uima.textmarker.type.TextMarkerBasic");
-    return jcasType.ll_cas.ll_getStringValue(addr, ((TextMarkerBasic_Type)jcasType).casFeatCode_replacement);}
-    
+    if (TextMarkerBasic_Type.featOkTst
+            && ((TextMarkerBasic_Type) jcasType).casFeat_replacement == null)
+      jcasType.jcas.throwFeatMissing("replacement",
+              "org.apache.uima.textmarker.type.TextMarkerBasic");
+    return jcasType.ll_cas.ll_getStringValue(addr,
+            ((TextMarkerBasic_Type) jcasType).casFeatCode_replacement);
+  }
+
   /**
    * setter for Replacement - sets
    * 
    * @generated
    */
   public void setReplacement(String v) {
-    if (TextMarkerBasic_Type.featOkTst && ((TextMarkerBasic_Type)jcasType).casFeat_replacement == null)
-      jcasType.jcas.throwFeatMissing("replacement", "org.apache.uima.textmarker.type.TextMarkerBasic");
-    jcasType.ll_cas.ll_setStringValue(addr, ((TextMarkerBasic_Type)jcasType).casFeatCode_replacement, v);}    
-    public Collection<AnnotationFS> getAnchors() {
-    return typeMap.values();
+    if (TextMarkerBasic_Type.featOkTst
+            && ((TextMarkerBasic_Type) jcasType).casFeat_replacement == null)
+      jcasType.jcas.throwFeatMissing("replacement",
+              "org.apache.uima.textmarker.type.TextMarkerBasic");
+    jcasType.ll_cas.ll_setStringValue(addr,
+            ((TextMarkerBasic_Type) jcasType).casFeatCode_replacement, v);
   }
+
+  public Map<Type, Set<AnnotationFS>> getEndMap() {
+    return endMap;
+  }
+
+  public Map<Type, Set<AnnotationFS>> getBeginMap() {
+    return beginMap;
+  }
+
 }

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerBasic_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class TextMarkerBasic_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.tcas.Annotat
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class TextMarkerColoring extends Annotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerColoring_Type.java Thu Sep 22 12:49:48 2011
@@ -14,7 +14,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class TextMarkerColoring_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.tcas.Annotat
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class TextMarkerFrame extends Annotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TextMarkerFrame_Type.java Thu Sep 22 12:49:48 2011
@@ -12,7 +12,7 @@ import org.apache.uima.jcas.JCasRegistry
 import org.apache.uima.jcas.tcas.Annotation_Type;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class TextMarkerFrame_Type extends Annotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive.java Thu Sep 22 12:49:48 2011
@@ -10,8 +10,8 @@ import org.apache.uima.jcas.cas.TOP_Type
 
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
- * XML source: D:/work/workspace-uima2/uimaj-ep-textmarker-engine/desc/BasicTypeSystem.xml
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
+ * XML source: D:/work/workspace-uima3/uimaj-ep-textmarker-engine/desc/InternalTypeSystem.xml
  * @generated */
 public class TruePositive extends EvalAnnotation {
   /** @generated

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive_Type.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive_Type.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive_Type.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/type/TruePositive_Type.java Thu Sep 22 12:49:48 2011
@@ -11,7 +11,7 @@ import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.JCasRegistry;
 
 /** 
- * Updated by JCasGen Tue Aug 09 16:26:13 CEST 2011
+ * Updated by JCasGen Tue Sep 20 15:37:41 CEST 2011
  * @generated */
 public class TruePositive_Type extends EvalAnnotation_Type {
   /** @generated */

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/verbalize/ScriptVerbalizer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/verbalize/ScriptVerbalizer.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/verbalize/ScriptVerbalizer.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/verbalize/ScriptVerbalizer.java Thu Sep 22 12:49:48 2011
@@ -15,7 +15,7 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
-*/
+ */
 
 package org.apache.uima.textmarker.verbalize;
 
@@ -43,7 +43,6 @@ import org.apache.uima.textmarker.rule.q
 import org.apache.uima.textmarker.rule.quantifier.StarGreedy;
 import org.apache.uima.textmarker.rule.quantifier.StarReluctant;
 
-
 public class ScriptVerbalizer {
 
   private TextMarkerVerbalizer verbalizer;
@@ -81,7 +80,7 @@ public class ScriptVerbalizer {
   }
 
   public String verbalizeRule(TextMarkerRule rule) {
-    List<RuleElement> elements = rule.getElements();
+    List<RuleElement> elements = rule.getRuleElements();
     StringBuilder result = new StringBuilder();
     for (RuleElement each : elements) {
       result.append(verbalizeRuleElement(each));
@@ -128,8 +127,8 @@ public class ScriptVerbalizer {
     } else if (re instanceof ComposedRuleElement) {
       ComposedRuleElement cre = (ComposedRuleElement) re;
       StringBuilder result = new StringBuilder("(");
-      for (RuleElement each : cre.getElements()) {
-        if (cre.getElements().indexOf(each) != 0) {
+      for (RuleElement each : cre.getRuleElements()) {
+        if (cre.getRuleElements().indexOf(each) != 0) {
           result.append(" ");
         }
         result.append(verbalizeRuleElement(each));

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/visitor/DebugInfoFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/visitor/DebugInfoFactory.java?rev=1174099&r1=1174098&r2=1174099&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/visitor/DebugInfoFactory.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/visitor/DebugInfoFactory.java Thu Sep 22 12:49:48 2011
@@ -15,13 +15,15 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
-*/
+ */
 
 package org.apache.uima.textmarker.visitor;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
 
 import org.apache.uima.cas.text.AnnotationFS;
 import org.apache.uima.jcas.JCas;
@@ -31,12 +33,14 @@ import org.apache.uima.textmarker.Script
 import org.apache.uima.textmarker.TextMarkerBlock;
 import org.apache.uima.textmarker.TextMarkerElement;
 import org.apache.uima.textmarker.TextMarkerStream;
+import org.apache.uima.textmarker.rule.ComposedRuleElementMatch;
 import org.apache.uima.textmarker.rule.EvaluatedCondition;
 import org.apache.uima.textmarker.rule.RuleApply;
 import org.apache.uima.textmarker.rule.RuleElement;
 import org.apache.uima.textmarker.rule.RuleElementMatch;
 import org.apache.uima.textmarker.rule.RuleMatch;
 import org.apache.uima.textmarker.rule.TextMarkerMatcher;
+import org.apache.uima.textmarker.rule.TextMarkerRuleElement;
 import org.apache.uima.textmarker.type.DebugBlockApply;
 import org.apache.uima.textmarker.type.DebugEvaluatedCondition;
 import org.apache.uima.textmarker.type.DebugFailedRuleMatch;
@@ -49,7 +53,6 @@ import org.apache.uima.textmarker.type.D
 import org.apache.uima.textmarker.utils.UIMAUtils;
 import org.apache.uima.textmarker.verbalize.TextMarkerVerbalizer;
 
-
 public class DebugInfoFactory {
 
   private TextMarkerVerbalizer verbalizer;
@@ -63,7 +66,8 @@ public class DebugInfoFactory {
           boolean addToIndex, boolean withMatches, Map<TextMarkerElement, Long> timeInfo) {
     JCas cas = stream.getJCas();
     DebugBlockApply dba = new DebugBlockApply(cas);
-    AnnotationFS matchedAnnotation = ruleMatch.getMatchedAnnotation(stream, null);
+    AnnotationFS matchedAnnotation = ruleMatch.getMatchedAnnotationsOf(
+            ruleMatch.getRule().getRoot(), stream).get(0);
     dba.setElement(matchedAnnotation.getCoveredText());
     dba.setBegin(matchedAnnotation.getBegin());
     dba.setEnd(matchedAnnotation.getEnd());
@@ -195,13 +199,9 @@ public class DebugInfoFactory {
     } else {
       drm = new DebugFailedRuleMatch(cas);
     }
-    List<DebugRuleElementMatches> ruleMatches = new ArrayList<DebugRuleElementMatches>();
-    for (RuleElement re : match.getMatchInfos().keySet()) {
-      List<RuleElementMatch> rems = match.getMatchInfos().get(re);
-      ruleMatches.add(createDebugRuleElementMatches(re, rems, stream, addToIndex));
-    }
-    drm.setElements(UIMAUtils.toFSArray(cas, ruleMatches));
-    drm.setMatched(match.matched());
+    ComposedRuleElementMatch rootMatch = match.getRootMatch();
+    setInnerMatches(stream, addToIndex, cas, drm, rootMatch);
+    drm.setMatched(match.matchedCompletely());
     if (match.matched()) {
       List<DebugScriptApply> delegates = new ArrayList<DebugScriptApply>();
       for (ScriptApply rem : match.getDelegateApply().values()) {
@@ -213,7 +213,8 @@ public class DebugInfoFactory {
       long time = timeInfo.get(match.getRule());
       drm.setTime(time);
     }
-    AnnotationFS matchedAnnotation = match.getMatchedAnnotation(stream, null);
+    AnnotationFS matchedAnnotation = match.getMatchedAnnotationsOf(match.getRule().getRoot(),
+            stream).get(0);
     if (matchedAnnotation != null) {
       drm.setBegin(matchedAnnotation.getBegin());
       drm.setEnd(matchedAnnotation.getEnd());
@@ -223,15 +224,48 @@ public class DebugInfoFactory {
     return drm;
   }
 
+  private void setInnerMatches(TextMarkerStream stream, boolean addToIndex, JCas cas,
+          DebugRuleMatch drm, ComposedRuleElementMatch rootMatch) {
+    Set<Entry<RuleElement, List<RuleElementMatch>>> entrySet = rootMatch.getInnerMatches()
+            .entrySet();
+    List<DebugRuleElementMatches> ruleElementMatches = new ArrayList<DebugRuleElementMatches>();
+    for (Entry<RuleElement, List<RuleElementMatch>> entry : entrySet) {
+      RuleElement re = entry.getKey();
+      List<RuleElementMatch> rems = entry.getValue();
+      ruleElementMatches.add(createDebugRuleElementMatches(re, rems, stream, addToIndex));
+    }
+
+    drm.setElements(UIMAUtils.toFSArray(cas, ruleElementMatches));
+  }
+
+  private void setInnerMatches(TextMarkerStream stream, boolean addToIndex, JCas cas,
+          DebugRuleElementMatch drm, ComposedRuleElementMatch rootMatch) {
+    Set<Entry<RuleElement, List<RuleElementMatch>>> entrySet = rootMatch.getInnerMatches()
+            .entrySet();
+    List<DebugRuleElementMatches> ruleElementMatches = new ArrayList<DebugRuleElementMatches>();
+    for (Entry<RuleElement, List<RuleElementMatch>> entry : entrySet) {
+      RuleElement re = entry.getKey();
+      List<RuleElementMatch> rems = entry.getValue();
+      ruleElementMatches.add(createDebugRuleElementMatches(re, rems, stream, addToIndex));
+    }
+    drm.setElements(UIMAUtils.toFSArray(cas, ruleElementMatches));
+  }
+
   public DebugRuleElementMatches createDebugRuleElementMatches(RuleElement re,
           List<RuleElementMatch> rems, TextMarkerStream stream, boolean addToIndex) {
     JCas cas = stream.getJCas();
     DebugRuleElementMatches drems = new DebugRuleElementMatches(cas);
     drems.setElement(verbalizer.verbalize(re));
     List<DebugRuleElementMatch> remList = new ArrayList<DebugRuleElementMatch>();
-
-    for (RuleElementMatch each : rems) {
-      remList.add(createDebugRuleElementMatch(each, stream, addToIndex));
+    if (rems != null) {
+      for (RuleElementMatch each : rems) {
+        if (each instanceof ComposedRuleElementMatch) {
+          remList.add(createDebugComposedRuleElementMatch((ComposedRuleElementMatch) each, stream,
+                  addToIndex));
+        } else {
+          remList.add(createDebugRuleElementMatch(each, stream, addToIndex));
+        }
+      }
     }
     drems.setMatches(UIMAUtils.toFSArray(cas, remList));
     if (addToIndex)
@@ -239,6 +273,30 @@ public class DebugInfoFactory {
     return drems;
   }
 
+  public DebugRuleElementMatch createDebugComposedRuleElementMatch(ComposedRuleElementMatch rem,
+          TextMarkerStream stream, boolean addToIndex) {
+    JCas cas = stream.getJCas();
+    DebugRuleElementMatch drem = new DebugRuleElementMatch(cas);
+
+    DebugEvaluatedCondition base = new DebugEvaluatedCondition(cas);
+    base.setValue(rem.isBaseConditionMatched());
+
+    setInnerMatches(stream, addToIndex, cas, drem, rem);
+
+    String baseString = verbalizer.verbalize(rem.getRuleElement());
+    base.setElement(baseString);
+    drem.setBaseCondition(base);
+    drem.setConditions(createEvaluatedConditions(rem, stream, addToIndex));
+    List<AnnotationFS> annotations = rem.getTextsMatched();
+    if (!annotations.isEmpty()) {
+      drem.setBegin(annotations.get(0).getBegin());
+      drem.setEnd(annotations.get(annotations.size() - 1).getEnd());
+    }
+    if (addToIndex)
+      drem.addToIndexes();
+    return drem;
+  }
+
   public DebugRuleElementMatch createDebugRuleElementMatch(RuleElementMatch rem,
           TextMarkerStream stream, boolean addToIndex) {
     JCas cas = stream.getJCas();
@@ -247,7 +305,7 @@ public class DebugInfoFactory {
     DebugEvaluatedCondition base = new DebugEvaluatedCondition(cas);
     base.setValue(rem.isBaseConditionMatched());
 
-    TextMarkerMatcher matcher = rem.getRuleElement().getMatcher();
+    TextMarkerMatcher matcher = ((TextMarkerRuleElement) rem.getRuleElement()).getMatcher();
     String baseString = verbalizer.verbalize(matcher.getExpression());
     base.setElement(baseString);
     drem.setBaseCondition(base);