Program: 122565
Project: 122565
Buggy source:
/** 
 * ggu Comment method "checkNodesPropertyChanger". If this is not relational joblet node to update. filter it.
 * @deprecated seems have unused it.
 */
private List<UpdateResult> checkJobletNodesPropertyChanger(){
  if (getProcess() == null || getNodePropertyChanger() == null) {
    return Collections.emptyList();
  }
  List<UpdateResult> nodeResults=new ArrayList<UpdateResult>();
  for (  PropertyChangeEvent event : getNodePropertyChanger()) {
    UpdateCheckResult result=null;
    String propertyName=event.getPropertyName();
    if (propertyName.equals(ComponentUtilities.NORMAL)) {
      if (jobletProcessProvider != null && !jobletProcessProvider.hasJobletComponent(getProcess())) {
        break;
      }
      Object object=event.getSource();
      if (object instanceof IProcess) {
        IProcess process2=(IProcess)object;
        if (!getProcess().getId().equals(process2.getId())) {
          List<INode> jobletNodes=findRelatedJobletNode(getProcess(),process2.getName(),null);
          if (jobletNodes != null && !jobletNodes.isEmpty()) {
            String source=UpdatesConstants.JOBLET + UpdatesConstants.COLON + process2.getName();
            result=new UpdateCheckResult(jobletNodes);
            result.setResult(EUpdateItemType.RELOAD,EUpdateResult.RELOAD,event,source);
          }
        }
      }
 else {
        result=new UpdateCheckResult(UpdatesConstants.COMPONENT);
        result.setResult(EUpdateItemType.RELOAD,EUpdateResult.RELOAD,event);
      }
    }
    if (result != null) {
      result.setJob(getProcess());
      setConfigrationForReadOnlyJob(result);
      nodeResults.add(result);
    }
  }
  getNodePropertyChanger().clear();
  return nodeResults;
}

Fixed version (ground truth):
/** 
 * ggu Comment method "checkNodesPropertyChanger". If this is not relational joblet node to update. filter it.
 * @deprecated seems have unused it.
 */
@Deprecated private List<UpdateResult> checkJobletNodesPropertyChanger(){
  if (getProcess() == null || getNodePropertyChanger() == null) {
    return Collections.emptyList();
  }
  List<UpdateResult> nodeResults=new ArrayList<UpdateResult>();
  for (  PropertyChangeEvent event : getNodePropertyChanger()) {
    UpdateCheckResult result=null;
    String propertyName=event.getPropertyName();
    if (propertyName.equals(ComponentUtilities.NORMAL)) {
      if (jobletProcessProvider != null && !jobletProcessProvider.hasJobletComponent(getProcess())) {
        break;
      }
      Object object=event.getSource();
      if (object instanceof IProcess) {
        IProcess process2=(IProcess)object;
        if (!getProcess().getId().equals(process2.getId())) {
          List<INode> jobletNodes=findRelatedJobletNode(getProcess(),process2.getName(),null);
          if (jobletNodes != null && !jobletNodes.isEmpty()) {
            String source=UpdatesConstants.JOBLET + UpdatesConstants.COLON + process2.getName();
            result=new UpdateCheckResult(jobletNodes);
            result.setResult(EUpdateItemType.RELOAD,EUpdateResult.RELOAD,event,source);
          }
        }
      }
 else {
        result=new UpdateCheckResult(UpdatesConstants.COMPONENT);
        result.setResult(EUpdateItemType.RELOAD,EUpdateResult.RELOAD,event);
      }
    }
    if (result != null) {
      result.setJob(getProcess());
      setConfigrationForReadOnlyJob(result);
      nodeResults.add(result);
    }
  }
  getNodePropertyChanger().clear();
  return nodeResults;
}