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 (this.state) {
       case 3:
         if (("Role" == ___local) && ("" == ___uri)) {
           ConditionSentenceTypeImpl.this
               ._getRole()
               .add(
                   ((extensionTools.opl2.generated.impl.RoleImpl)
                       this.spawnChildFromEnterElement(
                           (extensionTools.opl2.generated.impl.RoleImpl.class),
                           4,
                           ___uri,
                           ___local,
                           ___qname,
                           __atts)));
           return;
         }
         if (("Role" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, false);
           this.state = 14;
           return;
         }
         this.state = 4;
         continue outer;
       case 0:
         if (("ProcessName" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, true);
           this.state = 1;
           return;
         }
         break;
       case 14:
         attIdx = this.context.getAttribute("", "Library");
         if (attIdx >= 0) {
           this.context.consumeAttribute(attIdx);
           this.context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
           return;
         }
         attIdx = this.context.getAttribute("", "RoleName");
         if (attIdx >= 0) {
           this.context.consumeAttribute(attIdx);
           this.context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
           return;
         }
         break;
       case 10:
         if (("ConditionClause" == ___local) && ("" == ___uri)) {
           ConditionSentenceTypeImpl.this
               ._getConditionClause()
               .add(
                   ((extensionTools.opl2.generated.impl.ConditionClauseImpl)
                       this.spawnChildFromEnterElement(
                           (extensionTools.opl2.generated.impl.ConditionClauseImpl.class),
                           10,
                           ___uri,
                           ___local,
                           ___qname,
                           __atts)));
           return;
         }
         if (("ConditionClause" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, false);
           this.state = 8;
           return;
         }
         if (("PathLabel" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, true);
           this.state = 11;
           return;
         }
         this.state = 13;
         continue outer;
       case 4:
         if (("Role" == ___local) && ("" == ___uri)) {
           ConditionSentenceTypeImpl.this
               ._getRole()
               .add(
                   ((extensionTools.opl2.generated.impl.RoleImpl)
                       this.spawnChildFromEnterElement(
                           (extensionTools.opl2.generated.impl.RoleImpl.class),
                           4,
                           ___uri,
                           ___local,
                           ___qname,
                           __atts)));
           return;
         }
         if (("Role" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, false);
           this.state = 14;
           return;
         }
         if (("LogicalRelation" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, true);
           this.state = 5;
           return;
         }
         this.state = 7;
         continue outer;
       case 8:
         attIdx = this.context.getAttribute("", "logicalRelation");
         if (attIdx >= 0) {
           this.context.consumeAttribute(attIdx);
           this.context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
           return;
         }
         attIdx = this.context.getAttribute("", "objectType");
         if (attIdx >= 0) {
           this.context.consumeAttribute(attIdx);
           this.context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
           return;
         }
         break;
       case 13:
         if (("PathLabel" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, true);
           this.state = 11;
           return;
         }
         this.revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
         return;
       case 7:
         if (("ConditionClause" == ___local) && ("" == ___uri)) {
           ConditionSentenceTypeImpl.this
               ._getConditionClause()
               .add(
                   ((extensionTools.opl2.generated.impl.ConditionClauseImpl)
                       this.spawnChildFromEnterElement(
                           (extensionTools.opl2.generated.impl.ConditionClauseImpl.class),
                           10,
                           ___uri,
                           ___local,
                           ___qname,
                           __atts)));
           return;
         }
         if (("ConditionClause" == ___local) && ("" == ___uri)) {
           this.context.pushAttributes(__atts, false);
           this.state = 8;
           return;
         }
         break;
     }
     super.enterElement(___uri, ___local, ___qname, __atts);
     break;
   }
 }