public void enterElement(
     java.lang.String ___uri,
     java.lang.String ___local,
     java.lang.String ___qname,
     org.xml.sax.Attributes __atts)
     throws org.xml.sax.SAXException {
   int attIdx;
   outer:
   while (true) {
     switch (state) {
       case 0:
         attIdx = context.getAttribute("", "evidence");
         if (attIdx >= 0) {
           context.consumeAttribute(attIdx);
           context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
           return;
         }
         state = 2;
         continue outer;
       case 5:
         attIdx = context.getAttribute("", "status");
         if (attIdx >= 0) {
           final java.lang.String v = context.eatAttribute(attIdx);
           state = 8;
           eatText1(v);
           continue outer;
         }
         state = 8;
         continue outer;
       case 2:
         attIdx = context.getAttribute("", "position");
         if (attIdx >= 0) {
           final java.lang.String v = context.eatAttribute(attIdx);
           state = 5;
           eatText2(v);
           continue outer;
         }
         state = 5;
         continue outer;
       case 8:
         revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
         return;
     }
     super.enterElement(___uri, ___local, ___qname, __atts);
     break;
   }
 }
 public void enterAttribute(
     java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
     throws org.xml.sax.SAXException {
   int attIdx;
   outer:
   while (true) {
     switch (state) {
       case 0:
         if (("evidence" == ___local) && ("" == ___uri)) {
           state = 1;
           return;
         }
         state = 2;
         continue outer;
       case 5:
         if (("status" == ___local) && ("" == ___uri)) {
           state = 6;
           return;
         }
         state = 8;
         continue outer;
       case 2:
         if (("position" == ___local) && ("" == ___uri)) {
           state = 3;
           return;
         }
         state = 5;
         continue outer;
       case 8:
         revertToParentFromEnterAttribute(___uri, ___local, ___qname);
         return;
     }
     super.enterAttribute(___uri, ___local, ___qname);
     break;
   }
 }
 public void leaveAttribute(
     java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
     throws org.xml.sax.SAXException {
   int attIdx;
   outer:
   while (true) {
     switch (state) {
       case 4:
         if (("position" == ___local) && ("" == ___uri)) {
           state = 5;
           return;
         }
         break;
       case 0:
         attIdx = context.getAttribute("", "evidence");
         if (attIdx >= 0) {
           context.consumeAttribute(attIdx);
           context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
           return;
         }
         state = 2;
         continue outer;
       case 7:
         if (("status" == ___local) && ("" == ___uri)) {
           state = 8;
           return;
         }
         break;
       case 5:
         attIdx = context.getAttribute("", "status");
         if (attIdx >= 0) {
           final java.lang.String v = context.eatAttribute(attIdx);
           state = 8;
           eatText1(v);
           continue outer;
         }
         state = 8;
         continue outer;
       case 1:
         if (("evidence" == ___local) && ("" == ___uri)) {
           state = 2;
           return;
         }
         break;
       case 2:
         attIdx = context.getAttribute("", "position");
         if (attIdx >= 0) {
           final java.lang.String v = context.eatAttribute(attIdx);
           state = 5;
           eatText2(v);
           continue outer;
         }
         state = 5;
         continue outer;
       case 8:
         revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
         return;
     }
     super.leaveAttribute(___uri, ___local, ___qname);
     break;
   }
 }