Program: 168177
Project: 168177
Buggy source:
private void sHandleAdd(Shell shell){
  processElementSelectionDialog(shell);
  senatorList=new LinkedHashSet<String>();
  Job listSenators=new Job("String_Node_Str"){
    String selectedCongress="String_Node_Str";
    @Override protected IStatus run(    IProgressMonitor monitor){
      senatorList.clear();
      Display.getDefault().syncExec(new Runnable(){
        @Override public void run(){
          selectedCongress=congresses[sCmbCongress.getSelectionIndex()];
        }
      }
);
      try {
        ArrayList<String> temp=new ArrayList<String>();
        temp.add(0,"String_Node_Str");
        temp.add(1,"String_Node_Str");
        temp.add(2,"String_Node_Str");
        temp.add(3,"String_Node_Str");
        if (selectedCongress.equals("String_Node_Str")) {
          for (          String s : allSenators)           temp.add(s);
        }
 else {
          if (previousSelectedCongress.isEmpty() || !previousSelectedCongress.equals(selectedCongress)) {
            availabileSenators=AvailableRecords.getSenators(selectedCongress);
            Display.getDefault().asyncExec(new Runnable(){
              @Override public void run(){
                if (selectedSenators != null)                 selectedSenators.clear();
                senatorTable.removeAll();
              }
            }
);
          }
          for (          String s : availabileSenators)           temp.add(s);
        }
        senatorList.addAll(temp);
        if (selectedSenators != null)         senatorList.removeAll(selectedSenators);
        Display.getDefault().asyncExec(new Runnable(){
          @Override public void run(){
            listDialog.refresh(senatorList.toArray());
          }
        }
);
        previousSelectedCongress=selectedCongress;
      }
 catch (      final IOException exception) {
        ConsoleView.printlInConsole(exception.toString());
        Display.getDefault().syncExec(new Runnable(){
          @Override public void run(){
            ErrorDialog.openError(Display.getDefault().getActiveShell(),"String_Node_Str","String_Node_Str",new Status(IStatus.ERROR,CommonUiActivator.PLUGIN_ID,"String_Node_Str"));
          }
        }
);
      }
      return Status.OK_STATUS;
    }
  }
;
  listSenators.schedule();
  senatorList.add("String_Node_Str");
  listDialog.setElements(senatorList.toArray());
  listDialog.setMultipleSelection(true);
  if (listDialog.open() == Window.OK) {
    updateSenatorTable(listDialog.getResult());
  }
}

Fixed version (ground truth):
private void sHandleAdd(Shell shell){
  processElementSelectionDialog(shell);
  senatorList=new LinkedHashSet<String>();
  Job listSenators=new Job("String_Node_Str"){
    String selectedCongress="String_Node_Str";
    @Override protected IStatus run(    IProgressMonitor monitor){
      senatorList.clear();
      Display.getDefault().syncExec(new Runnable(){
        @Override public void run(){
          selectedCongress=congresses[sCmbCongress.getSelectionIndex()];
        }
      }
);
      try {
        ArrayList<String> temp=new ArrayList<String>();
        temp.add(0,"String_Node_Str");
        temp.add(1,"String_Node_Str");
        temp.add(2,"String_Node_Str");
        temp.add(3,"String_Node_Str");
        if (selectedCongress.equals("String_Node_Str")) {
          for (          String s : allSenators)           temp.add(s);
        }
 else {
          if (previousSelectedCongress.isEmpty() || !previousSelectedCongress.equals(selectedCongress) || null == availabileSenators || availabileSenators.length == 0) {
            availabileSenators=AvailableRecords.getSenators(selectedCongress);
            Display.getDefault().asyncExec(new Runnable(){
              @Override public void run(){
                if (selectedSenators != null)                 selectedSenators.clear();
                senatorTable.removeAll();
              }
            }
);
          }
          for (          String s : availabileSenators)           temp.add(s);
        }
        senatorList.addAll(temp);
        if (selectedSenators != null)         senatorList.removeAll(selectedSenators);
        Display.getDefault().asyncExec(new Runnable(){
          @Override public void run(){
            listDialog.refresh(senatorList.toArray());
          }
        }
);
        previousSelectedCongress=selectedCongress;
      }
 catch (      final IOException exception) {
        ConsoleView.printlInConsole(exception.toString());
        Display.getDefault().syncExec(new Runnable(){
          @Override public void run(){
            ErrorDialog.openError(Display.getDefault().getActiveShell(),"String_Node_Str","String_Node_Str",new Status(IStatus.ERROR,CommonUiActivator.PLUGIN_ID,"String_Node_Str"));
          }
        }
);
      }
      return Status.OK_STATUS;
    }
  }
;
  listSenators.schedule();
  senatorList.add("String_Node_Str");
  listDialog.setElements(senatorList.toArray());
  listDialog.setMultipleSelection(true);
  if (listDialog.open() == Window.OK) {
    updateSenatorTable(listDialog.getResult());
  }
}