Program: 74469
Project: 74469
Buggy source:
/** 
 * Generate all premise-action pairs regarding this FmvAutomaton. For example, this method may generate (state=red)&&(count=1):{grn}. This can only be applied when the domain of variable is decided.
 */
private void _generateAllVariableTransitions(HashSet<String> variableSet) throws IllegalActionException {
  HashSet<State> stateSet=new HashSet<State>();
  HashMap<String,State> frontier=new HashMap<String,State>();
  _variableTransitionInfo=new HashMap<String,LinkedList<VariableTransitionInfo>>();
  Iterator<String> vit=variableSet.iterator();
  while (vit.hasNext()) {
    String v=vit.next();
    LinkedList<VariableTransitionInfo> l=new LinkedList<VariableTransitionInfo>();
    _variableTransitionInfo.put(v,l);
  }
  LinkedList<VariableTransitionInfo> l=new LinkedList<VariableTransitionInfo>();
  _variableTransitionInfo.put("String_Node_Str",l);
  State stateInThis=this.getInitialState();
  String name=stateInThis.getName();
  frontier.put(name,stateInThis);
  while (!frontier.isEmpty()) {
    Iterator<String> iterator=frontier.keySet().iterator();
    name=(String)iterator.next();
    stateInThis=(State)frontier.remove(name);
    if (stateInThis == null) {
      throw new IllegalActionException("String_Node_Str" + "String_Node_Str" + name + "String_Node_Str");
    }
    ComponentPort outPort=stateInThis.outgoingPort;
    Iterator transitions=outPort.linkedRelationList().iterator();
    while (transitions.hasNext()) {
      Transition transition=(Transition)transitions.next();
      State destinationInThis=transition.destinationState();
      if (!stateSet.contains(destinationInThis)) {
        frontier.put(destinationInThis.getName(),destinationInThis);
        stateSet.add(destinationInThis);
      }
      boolean hasAnnotation=false;
      String text;
      try {
        text=transition.annotation.stringValue();
      }
 catch (      IllegalActionException e) {
        text="String_Node_Str" + e.getMessage();
      }
      if (!text.trim().equals("String_Node_Str")) {
        hasAnnotation=true;
      }
      String guard=transition.getGuardExpression();
      String setAction=transition.setActions.getExpression();
      HashSet<String> variableUsedInTransitionSet=new HashSet<String>();
      if ((guard != null) && !guard.trim().equals("String_Node_Str")) {
        if (hasAnnotation) {
        }
 else {
          String[] guardSplitExpression=guard.split("String_Node_Str");
          if (guardSplitExpression.length != 0) {
            for (int i=0; i < guardSplitExpression.length; i++) {
              String subGuardCondition=guardSplitExpression[i].trim();
              String[] characterOfSubGuard=subGuardCondition.split("String_Node_Str");
              String lValue=characterOfSubGuard[0].trim();
              boolean b=Pattern.matches("String_Node_Str",characterOfSubGuard[0].trim());
              if (b == true) {
              }
 else {
                boolean isTrue=false;
                String rValue=null;
                try {
                  rValue=characterOfSubGuard[1].trim();
                }
 catch (                Exception ex) {
                  isTrue=true;
                }
                if (isTrue == false) {
                  variableUsedInTransitionSet.add(lValue);
                }
              }
            }
          }
        }
      }
      if ((setAction != null) && !setAction.trim().equals("String_Node_Str")) {
        String[] setActionSplitExpression=setAction.split("String_Node_Str");
        if (setActionSplitExpression.length != 0) {
          for (int i=0; i < setActionSplitExpression.length; i++) {
            String subSetActionCondition=setActionSplitExpression[i].trim();
            String[] characterOfSubSetAction=subSetActionCondition.split("String_Node_Str");
            String lValue=characterOfSubSetAction[0].trim();
            variableUsedInTransitionSet.add(lValue);
          }
        }
      }
      HashMap<String,ArrayList<Integer>> valueDomain=new HashMap<String,ArrayList<Integer>>();
      Iterator<String> it=variableUsedInTransitionSet.iterator();
      while (it.hasNext()) {
        String val=(String)it.next();
        if (val != null) {
          VariableInfo variableInfo=_variableInfo.get(val);
          if (variableInfo == null) {
            throw new IllegalActionException("String_Node_Str" + val + "String_Node_Str");
          }
 else {
            if (variableInfo._minValue != null && variableInfo._maxValue != null) {
              int lowerBound=Integer.parseInt(variableInfo._minValue);
              int upperBound=Integer.parseInt(variableInfo._maxValue);
              ArrayList<Integer> variableDomainForTransition=new ArrayList<Integer>();
              variableDomainForTransition.add(DOMAIN_LS);
              for (int number=lowerBound; number <= upperBound; number++) {
                variableDomainForTransition.add(Integer.valueOf(number));
              }
              variableDomainForTransition.add(DOMAIN_GT);
              valueDomain.put(val,variableDomainForTransition);
            }
          }
        }
        if ((guard != null) && !guard.trim().equals("String_Node_Str")) {
          if (hasAnnotation) {
          }
 else {
            String[] guardSplitExpression=guard.split("String_Node_Str");
            if (guardSplitExpression.length != 0) {
              for (int i=0; i < guardSplitExpression.length; i++) {
                String subGuardCondition=guardSplitExpression[i].trim();
                String[] characterOfSubGuard=subGuardCondition.split("String_Node_Str");
                String lValue=characterOfSubGuard[0].trim();
                boolean b=Pattern.matches("String_Node_Str",characterOfSubGuard[0].trim());
                if (b == true) {
                }
 else {
                  boolean parse=true;
                  String rValue=null;
                  try {
                    rValue=characterOfSubGuard[1].trim();
                  }
 catch (                  Exception ex) {
                    parse=false;
                  }
                  if (parse == true) {
                    if (Pattern.matches("String_Node_Str",rValue) == true) {
                      int numberRetrival=Integer.parseInt(rValue);
                      if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() != numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() == numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() > numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() < numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() <= numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() >= numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
                    }
                  }
                }
              }
            }
          }
        }
        String setActionExpression=transition.setActions.getExpression();
        if ((setActionExpression != null) && !setActionExpression.trim().equals("String_Node_Str")) {
          String[] splitExpression=setActionExpression.split("String_Node_Str");
          for (int i=0; i < splitExpression.length; i++) {
            String[] characters=splitExpression[i].split("String_Node_Str");
            if (characters.length >= 2) {
              String lValue=characters[0].trim();
              String rValue=characters[1].trim();
              if (Pattern.matches("String_Node_Str",characters[1].trim()) == true) {
                String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValue,"String_Node_Str");
                _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
              }
 else {
                if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,offset,"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,offset,"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValueOperends[1].trim(),"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValueOperends[1].trim(),"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
              }
            }
          }
        }
 else {
          String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
          _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Generate all premise-action pairs regarding this FmvAutomaton. For example, this method may generate (state=red)&&(count=1):{grn}. This can only be applied when the domain of variable is decided.
 */
private void _generateAllVariableTransitions(HashSet<String> variableSet) throws IllegalActionException {
  HashSet<State> stateSet=new HashSet<State>();
  HashMap<String,State> frontier=new HashMap<String,State>();
  _variableTransitionInfo=new HashMap<String,LinkedList<VariableTransitionInfo>>();
  Iterator<String> vit=variableSet.iterator();
  while (vit.hasNext()) {
    String v=vit.next();
    LinkedList<VariableTransitionInfo> l=new LinkedList<VariableTransitionInfo>();
    _variableTransitionInfo.put(v,l);
  }
  LinkedList<VariableTransitionInfo> l=new LinkedList<VariableTransitionInfo>();
  _variableTransitionInfo.put("String_Node_Str",l);
  State stateInThis=this.getInitialState();
  String name=stateInThis.getName();
  frontier.put(name,stateInThis);
  while (!frontier.isEmpty()) {
    Iterator<String> iterator=frontier.keySet().iterator();
    name=(String)iterator.next();
    stateInThis=(State)frontier.remove(name);
    if (stateInThis == null) {
      throw new IllegalActionException("String_Node_Str" + "String_Node_Str" + name + "String_Node_Str");
    }
    ComponentPort outPort=stateInThis.outgoingPort;
    Iterator transitions=outPort.linkedRelationList().iterator();
    while (transitions.hasNext()) {
      Transition transition=(Transition)transitions.next();
      State destinationInThis=transition.destinationState();
      if (!stateSet.contains(destinationInThis)) {
        frontier.put(destinationInThis.getName(),destinationInThis);
        stateSet.add(destinationInThis);
      }
      boolean hasAnnotation=false;
      String text;
      try {
        text=transition.annotation.stringValue();
      }
 catch (      IllegalActionException e) {
        text="String_Node_Str" + e.getMessage();
      }
      if (!text.trim().equals("String_Node_Str")) {
        hasAnnotation=true;
      }
      String guard=transition.getGuardExpression();
      String setAction=transition.setActions.getExpression();
      HashSet<String> variableUsedInTransitionSet=new HashSet<String>();
      if ((guard != null) && !guard.trim().equals("String_Node_Str")) {
        if (hasAnnotation) {
        }
 else {
          String[] guardSplitExpression=guard.split("String_Node_Str");
          if (guardSplitExpression.length != 0) {
            for (int i=0; i < guardSplitExpression.length; i++) {
              String subGuardCondition=guardSplitExpression[i].trim();
              String[] characterOfSubGuard=subGuardCondition.split("String_Node_Str");
              String lValue=characterOfSubGuard[0].trim();
              boolean b=Pattern.matches("String_Node_Str",characterOfSubGuard[0].trim());
              if (b == true) {
              }
 else {
                boolean isTrue=false;
                String rValue=null;
                try {
                  rValue=characterOfSubGuard[1].trim();
                }
 catch (                Exception ex) {
                  isTrue=true;
                }
                if (isTrue == false) {
                  variableUsedInTransitionSet.add(lValue);
                }
              }
            }
          }
        }
      }
      if ((setAction != null) && !setAction.trim().equals("String_Node_Str")) {
        String[] setActionSplitExpression=setAction.split("String_Node_Str");
        if (setActionSplitExpression.length != 0) {
          for (int i=0; i < setActionSplitExpression.length; i++) {
            String subSetActionCondition=setActionSplitExpression[i].trim();
            String[] characterOfSubSetAction=subSetActionCondition.split("String_Node_Str");
            String lValue=characterOfSubSetAction[0].trim();
            variableUsedInTransitionSet.add(lValue);
          }
        }
      }
      HashMap<String,ArrayList<Integer>> valueDomain=new HashMap<String,ArrayList<Integer>>();
      Iterator<String> it=variableUsedInTransitionSet.iterator();
      while (it.hasNext()) {
        String val=(String)it.next();
        if (val != null) {
          VariableInfo variableInfo=_variableInfo.get(val);
          if (variableInfo == null) {
            throw new IllegalActionException("String_Node_Str" + val + "String_Node_Str");
          }
 else {
            if (variableInfo._minValue != null && variableInfo._maxValue != null) {
              int lowerBound=Integer.parseInt(variableInfo._minValue);
              int upperBound=Integer.parseInt(variableInfo._maxValue);
              ArrayList<Integer> variableDomainForTransition=new ArrayList<Integer>();
              variableDomainForTransition.add(DOMAIN_LS);
              for (int number=lowerBound; number <= upperBound; number++) {
                variableDomainForTransition.add(Integer.valueOf(number));
              }
              variableDomainForTransition.add(DOMAIN_GT);
              valueDomain.put(val,variableDomainForTransition);
            }
          }
        }
        if ((guard != null) && !guard.trim().equals("String_Node_Str")) {
          if (hasAnnotation) {
          }
 else {
            String[] guardSplitExpression=guard.split("String_Node_Str");
            if (guardSplitExpression.length != 0) {
              for (int i=0; i < guardSplitExpression.length; i++) {
                String subGuardCondition=guardSplitExpression[i].trim();
                String[] characterOfSubGuard=subGuardCondition.split("String_Node_Str");
                String lValue=characterOfSubGuard[0].trim();
                boolean b=Pattern.matches("String_Node_Str",characterOfSubGuard[0].trim());
                if (b == true) {
                }
 else {
                  boolean parse=true;
                  String rValue=null;
                  try {
                    rValue=characterOfSubGuard[1].trim();
                  }
 catch (                  Exception ex) {
                    parse=false;
                  }
                  if (parse == true) {
                    if (Pattern.matches("String_Node_Str",rValue) == true) {
                      int numberRetrival=Integer.parseInt(rValue);
                      if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() != numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() == numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() > numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() < numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() <= numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
 else                       if (Pattern.matches("String_Node_Str",subGuardCondition)) {
                        ArrayList<Integer> domain=valueDomain.remove(lValue);
                        if (domain == null) {
                          throw new IllegalActionException("String_Node_Str" + lValue + "String_Node_Str");
                        }
                        for (int j=domain.size() - 1; j >= 0; j--) {
                          if (domain.get(j).intValue() >= numberRetrival) {
                            domain.remove(j);
                          }
                        }
                        valueDomain.put(lValue,domain);
                      }
                    }
                  }
                }
              }
            }
          }
        }
        String setActionExpression=transition.setActions.getExpression();
        if ((setActionExpression != null) && !setActionExpression.trim().equals("String_Node_Str")) {
          String[] splitExpression=setActionExpression.split("String_Node_Str");
          for (int i=0; i < splitExpression.length; i++) {
            String[] characters=splitExpression[i].split("String_Node_Str");
            if (characters.length >= 2) {
              String lValue=characters[0].trim();
              String rValue=characters[1].trim();
              if (Pattern.matches("String_Node_Str",characters[1].trim()) == true) {
                String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValue,"String_Node_Str");
                _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
              }
 else {
                if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                        throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,offset,"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,offset,"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValueOperends[1].trim(),"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
 else                 if (Pattern.matches("String_Node_Str",rValue)) {
                  String[] rValueOperends=rValue.split("String_Node_Str");
                  String offset=rValueOperends[1].trim();
                  try {
                    int value=Integer.parseInt(rValueOperends[1].trim());
                  }
 catch (                  Exception ex) {
                    if (rValueOperends[1].trim().endsWith("String_Node_Str") && rValueOperends[1].trim().startsWith("String_Node_Str")) {
                      offset=rValueOperends[1].trim().substring(1,rValueOperends[1].trim().length() - 1);
                      try {
                        Integer.parseInt(offset);
                      }
 catch (                      Exception exInner) {
                      }
                    }
                  }
                  String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,lValue,rValueOperends[1].trim(),"String_Node_Str");
                  _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
                }
              }
            }
          }
        }
 else {
          String statePrecondition="String_Node_Str" + stateInThis.getDisplayName();
          _generatePremiseAndResultEachTransition(statePrecondition,valueDomain,"String_Node_Str",destinationInThis.getDisplayName(),"String_Node_Str");
        }
      }
    }
  }
}