Program: 96971
Project: 96971
Buggy source:
public String getAssigneeStr(IAtsObject atsObject) throws OseeCoreException {
  if (atsObject instanceof HasActions) {
    HasActions hasActions=(HasActions)atsObject;
    List<IAtsUser> pocs=new ArrayList<>();
    List<IAtsUser> implementers=new ArrayList<>();
    for (    IAtsWorkItem action : hasActions.getActions()) {
      if (action.getStateMgr().getStateType().isCompletedOrCancelled()) {
        for (        IAtsUser user : action.getImplementers()) {
          if (!implementers.contains(user)) {
            implementers.add(user);
          }
        }
      }
 else {
        for (        IAtsUser user : action.getAssignees()) {
          if (!pocs.contains(user)) {
            pocs.add(user);
          }
        }
      }
    }
    Collections.sort(pocs);
    Collections.sort(implementers);
    return AtsObjects.toString("String_Node_Str",pocs) + (implementers.isEmpty() ? "String_Node_Str" : "String_Node_Str" + AtsObjects.toString("String_Node_Str",implementers) + "String_Node_Str");
  }
 else   if (atsObject instanceof IAtsWorkItem) {
    IAtsWorkItem workItem=(IAtsWorkItem)atsObject;
    if (workItem.getStateMgr().getStateType().isCompletedOrCancelled()) {
      String implementers=implementStrProvider.getImplementersStr(workItem);
      if (Strings.isValid(implementers)) {
        return "String_Node_Str" + implementers + "String_Node_Str";
      }
    }
    if (atsObject instanceof HasAssignees) {
      return AtsObjects.toString("String_Node_Str",((HasAssignees)atsObject).getAssignees());
    }
  }
  return "String_Node_Str";
}

Fixed version (ground truth):
public String getAssigneeStr(IAtsObject atsObject) throws OseeCoreException {
  if (atsObject instanceof HasActions) {
    HasActions hasActions=(HasActions)atsObject;
    List<IAtsUser> pocs=new ArrayList<>();
    List<IAtsUser> implementers=new ArrayList<>();
    for (    IAtsWorkItem action : hasActions.getActions()) {
      StateType stateType=action.getStateMgr().getStateType();
      if (stateType != null) {
        if (stateType.isCompletedOrCancelled()) {
          for (          IAtsUser user : action.getImplementers()) {
            if (!implementers.contains(user)) {
              implementers.add(user);
            }
          }
        }
 else {
          for (          IAtsUser user : action.getAssignees()) {
            if (!pocs.contains(user)) {
              pocs.add(user);
            }
          }
        }
      }
    }
    Collections.sort(pocs);
    Collections.sort(implementers);
    return AtsObjects.toString("String_Node_Str",pocs) + (implementers.isEmpty() ? "String_Node_Str" : "String_Node_Str" + AtsObjects.toString("String_Node_Str",implementers) + "String_Node_Str");
  }
 else   if (atsObject instanceof IAtsWorkItem) {
    IAtsWorkItem workItem=(IAtsWorkItem)atsObject;
    StateType stateType=workItem.getStateMgr().getStateType();
    if (stateType != null) {
      if (stateType.isCompletedOrCancelled()) {
        String implementers=implementStrProvider.getImplementersStr(workItem);
        if (Strings.isValid(implementers)) {
          return "String_Node_Str" + implementers + "String_Node_Str";
        }
      }
    }
    if (atsObject instanceof HasAssignees) {
      return AtsObjects.toString("String_Node_Str",((HasAssignees)atsObject).getAssignees());
    }
  }
  return "String_Node_Str";
}