Program: 97331
Project: 97331
Buggy source:
@Override protected void setInput(IEditorInput input){
  super.setInput(input);
  if (input instanceof AtsWorkDefConfigEditorInput) {
    AtsWorkDefConfigEditorInput editorInput=(AtsWorkDefConfigEditorInput)input;
    IAtsWorkDefinition workflowDef=editorInput.workflow;
    try {
      setPartName(workflowDef.getName());
      diagram=new WorkDefinitionDiagram(workflowDef);
      int yLocNormalState=20;
      int yLocCancelledState=40;
      IAtsStateDefinition startPage=workflowDef.getStartState();
      if (startPage == null || startPage.getName().equals("String_Node_Str")) {
        throw new OseeArgumentException("String_Node_Str" + workflowDef);
      }
      List<IAtsStateDefinition> stateDefs=AtsClientService.get().getWorkDefinitionAdmin().getStatesOrderedByDefaultToState(workflowDef);
      for (      IAtsStateDefinition stateDef : workflowDef.getStates()) {
        if (!stateDefs.contains(stateDef)) {
          stateDefs.add(stateDef);
        }
      }
      for (      IAtsStateDefinition pageDef : stateDefs) {
        StateDefShape stateShape=new StateDefShape(pageDef);
        if (pageDef.getStateType().isCancelledState()) {
          stateShape.setLocation(new Point(350,yLocCancelledState));
          yLocCancelledState+=90;
        }
 else {
          stateShape.setLocation(new Point(50,yLocNormalState));
          yLocNormalState+=90;
        }
        diagram.addChild(stateShape);
      }
      for (      IAtsStateDefinition stateDef : AtsClientService.get().getWorkDefinitionAdmin().getStatesOrderedByDefaultToState(workflowDef)) {
        StateDefShape pageShape=getStateDefShape(stateDef);
        Set<IAtsStateDefinition> toPages=new HashSet<IAtsStateDefinition>();
        toPages.addAll(pageShape.getStateDefinition().getToStates());
        List<IAtsStateDefinition> returnStateDefs=pageShape.getStateDefinition().getOverrideAttributeValidationStates();
        for (        IAtsStateDefinition toStateDef : toPages) {
          if (returnStateDefs.contains(toStateDef)) {
            continue;
          }
          StateDefShape toStateDefShape=getStateDefShape(toStateDef);
          if (toStateDef.equals(stateDef.getDefaultToState())) {
            new DefaultTransitionConnection(pageShape,toStateDefShape);
          }
 else {
            new TransitionConnection(pageShape,toStateDefShape);
          }
        }
        for (        IAtsStateDefinition toPageDef : returnStateDefs) {
          StateDefShape toPageShape=getStateDefShape(toPageDef);
          new ReturnTransitionConnection(pageShape,toPageShape);
        }
      }
    }
 catch (    OseeCoreException ex) {
      OseeLog.log(Activator.class,OseeLevel.SEVERE_POPUP,ex);
    }
  }
 else {
    throw new IllegalStateException("String_Node_Str");
  }
}

Fixed version (ground truth):
@Override protected void setInput(IEditorInput input){
  super.setInput(input);
  if (input instanceof AtsWorkDefConfigEditorInput) {
    AtsWorkDefConfigEditorInput editorInput=(AtsWorkDefConfigEditorInput)input;
    IAtsWorkDefinition workflowDef=editorInput.workflow;
    try {
      setPartName(workflowDef.getName());
      diagram=new WorkDefinitionDiagram(workflowDef);
      int yLocNormalState=20;
      int yLocCancelledState=40;
      IAtsStateDefinition startPage=workflowDef.getStartState();
      if (startPage == null || startPage.getName().equals("String_Node_Str")) {
        throw new OseeArgumentException("String_Node_Str" + workflowDef);
      }
      List<IAtsStateDefinition> stateDefs=AtsClientService.get().getWorkDefinitionAdmin().getStatesOrderedByOrdinal(workflowDef);
      for (      IAtsStateDefinition stateDef : workflowDef.getStates()) {
        if (!stateDefs.contains(stateDef)) {
          stateDefs.add(stateDef);
        }
      }
      for (      IAtsStateDefinition pageDef : stateDefs) {
        StateDefShape stateShape=new StateDefShape(pageDef);
        if (pageDef.getStateType().isCancelledState()) {
          stateShape.setLocation(new Point(350,yLocCancelledState));
          yLocCancelledState+=90;
        }
 else {
          stateShape.setLocation(new Point(50,yLocNormalState));
          yLocNormalState+=90;
        }
        diagram.addChild(stateShape);
      }
      for (      IAtsStateDefinition stateDef : AtsClientService.get().getWorkDefinitionAdmin().getStatesOrderedByOrdinal(workflowDef)) {
        StateDefShape pageShape=getStateDefShape(stateDef);
        Set<IAtsStateDefinition> toPages=new HashSet<IAtsStateDefinition>();
        toPages.addAll(pageShape.getStateDefinition().getToStates());
        List<IAtsStateDefinition> returnStateDefs=pageShape.getStateDefinition().getOverrideAttributeValidationStates();
        for (        IAtsStateDefinition toStateDef : toPages) {
          if (returnStateDefs.contains(toStateDef)) {
            continue;
          }
          StateDefShape toStateDefShape=getStateDefShape(toStateDef);
          if (toStateDef.equals(stateDef.getDefaultToState())) {
            new DefaultTransitionConnection(pageShape,toStateDefShape);
          }
 else {
            new TransitionConnection(pageShape,toStateDefShape);
          }
        }
        for (        IAtsStateDefinition toPageDef : returnStateDefs) {
          StateDefShape toPageShape=getStateDefShape(toPageDef);
          new ReturnTransitionConnection(pageShape,toPageShape);
        }
      }
    }
 catch (    OseeCoreException ex) {
      OseeLog.log(Activator.class,OseeLevel.SEVERE_POPUP,ex);
    }
  }
 else {
    throw new IllegalStateException("String_Node_Str");
  }
}