Program: 133468
Project: 133468
Buggy source:
@Override public void widgetSelected(SelectionEvent e){
  if ("String_Node_Str".equals(processName)) {
    Thread ppThread=new Thread(new Runnable(){
      @Override public void run(){
        ArrayList<ICEResource> resourceList=new ArrayList<ICEResource>();
        ArrayList<String> enabledPPs=new ArrayList<String>();
        ResourceComponent resources;
        for (        Entry postProcessor : postProcessors.retrieveAllEntries()) {
          if ("String_Node_Str".equals(postProcessor.getValue())) {
            enabledPPs.add(postProcessor.getName());
          }
        }
        if (!enabledPPs.isEmpty()) {
          while (resourceList.size() != enabledPPs.size()) {
            resources=resourceComponentPage.getResourceComponent();
            try {
              Thread.sleep(500);
            }
 catch (            InterruptedException e) {
              logger.error(getClass().getName() + "String_Node_Str",e);
            }
            for (            ICEResource r : resources.getResources()) {
              if (enabledPPs.contains(FilenameUtils.removeExtension(r.getName())) && hasValidPostprocessorData(r)) {
                resourceList.add(r);
              }
            }
          }
          for (          final ICEResource r : resourceList) {
            PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
              @Override public void run(){
                try {
                  MOOSEFormEditor.this.setActivePage(1);
                  resourceComponentPage.showResource(r);
                }
 catch (                PartInitException e) {
                  logger.error(getClass().getName() + "String_Node_Str",e);
                }
              }
            }
);
          }
        }
      }
    }
);
    ppThread.start();
  }
}

Fixed version (ground truth):
@Override public void widgetSelected(SelectionEvent e){
  if ("String_Node_Str".equals(processName)) {
    Thread ppThread=new Thread(new Runnable(){
      @Override public void run(){
        ArrayList<ICEResource> resourceList=new ArrayList<ICEResource>();
        ArrayList<String> enabledPPs=new ArrayList<String>();
        ResourceComponent resources;
        for (        Entry postProcessor : postProcessors.retrieveAllEntries()) {
          if ("String_Node_Str".equals(postProcessor.getValue())) {
            enabledPPs.add(postProcessor.getName());
          }
        }
        if (!enabledPPs.isEmpty()) {
          while (resourceList.size() != enabledPPs.size()) {
            resources=resourceComponentPage.getResourceComponent();
            try {
              Thread.sleep(500);
            }
 catch (            InterruptedException e) {
              logger.error(getClass().getName() + "String_Node_Str",e);
            }
            for (            ICEResource r : resources.getResources()) {
              if (enabledPPs.contains(FilenameUtils.removeExtension(r.getName())) && hasValidPostprocessorData(r)) {
                resourceList.add(r);
              }
            }
          }
          for (          final ICEResource r : resourceList) {
            PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
              @Override public void run(){
                try {
                  if (!resourceComponentPage.isResourceDisplayed(r)) {
                    MOOSEFormEditor.this.setActivePage(resourceComponentPage.getId());
                    resourceComponentPage.showResource(r);
                  }
                }
 catch (                PartInitException e) {
                  logger.error(getClass().getName() + "String_Node_Str",e);
                }
              }
            }
);
          }
        }
      }
    }
);
    ppThread.start();
  }
}