Program: 120269
Project: 120269
Buggy source:
/** 
 * DOC qwei Comment method "exportDependenciesSelected".
 */
private void exportDependenciesSelected(){
  final Collection<Item> selectedItems=getSelectedItems();
  IRunnableWithProgress runnable=new IRunnableWithProgress(){
    @Override public void run(    final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
      monitor.beginTask("String_Node_Str",100);
      final List<IRepositoryViewObject> repositoryObjects=new ArrayList<IRepositoryViewObject>();
      ProcessUtils.clearFakeProcesses();
      for (      Item item : selectedItems) {
        RepositoryNodeUtilities.checkItemDependencies(item,repositoryObjects,false,true);
      }
      monitor.worked(60);
      for (      IRepositoryViewObject repositoryObject : repositoryObjects) {
        Object repositoryNode=RepositoryNodeUtilities.getRepositoryNode(repositoryObject,monitor);
        if (repositoryNode != null) {
          checkedDependency.add(repositoryNode);
        }
 else {
          implicitDependences.add(repositoryObject);
        }
      }
      monitor.worked(90);
      ProcessUtils.clearFakeProcesses();
      monitor.done();
    }
  }
;
  final ProgressMonitorJobsDialog dialog=new ProgressMonitorJobsDialog(getShell());
  try {
    dialog.run(true,true,runnable);
  }
 catch (  InvocationTargetException e) {
  }
catch (  InterruptedException e) {
  }
}

Fixed version (ground truth):
/** 
 * DOC qwei Comment method "exportDependenciesSelected".
 */
private void exportDependenciesSelected(){
  final Collection<Item> selectedItems=getSelectedItems();
  IRunnableWithProgress runnable=new IRunnableWithProgress(){
    @Override public void run(    final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
      monitor.beginTask("String_Node_Str",100);
      final List<IRepositoryViewObject> repositoryObjects=new ArrayList<IRepositoryViewObject>();
      ProcessUtils.clearFakeProcesses();
      for (      Item item : selectedItems) {
        RepositoryNodeUtilities.checkItemDependencies(item,repositoryObjects,false,true);
      }
      monitor.worked(60);
      for (      IRepositoryViewObject repositoryObject : repositoryObjects) {
        RepositoryNode repositoryNode=RepositoryNodeUtilities.getRepositoryNode(repositoryObject,monitor);
        if (repositoryNode != null) {
          checkedDependency.add(repositoryNode);
        }
 else {
          implicitDependences.add(repositoryObject);
        }
        for (        IExtendedRepositoryNodeHandler nodeHandler : RepositoryContentManager.getExtendedNodeHandler()) {
          List nodesAndDependencies=nodeHandler.getRepositoryNodeAndDependencies(repositoryObject);
          if (!nodesAndDependencies.isEmpty()) {
            checkedDependency.addAll(nodesAndDependencies);
          }
        }
      }
      for (      Item item : selectedItems) {
        for (        IExtendedRepositoryNodeHandler nodeHandler : RepositoryContentManager.getExtendedNodeHandler()) {
          List nodesAndDependencies=nodeHandler.getRepositoryNodeAndDependencies(new RepositoryObject(item.getProperty()));
          if (!nodesAndDependencies.isEmpty()) {
            checkedDependency.addAll(nodesAndDependencies);
          }
        }
      }
      monitor.worked(90);
      ProcessUtils.clearFakeProcesses();
      monitor.done();
    }
  }
;
  final ProgressMonitorJobsDialog dialog=new ProgressMonitorJobsDialog(getShell());
  try {
    dialog.run(true,true,runnable);
  }
 catch (  InvocationTargetException e) {
  }
catch (  InterruptedException e) {
  }
}