Program: 139137
Project: 139137
Buggy source:
/** 
 * DOC bZhou Comment method "addListeners".
 */
private void addListeners(){
  dirBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      setDirState(dirBTN.getSelection());
    }
  }
);
  archBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      setArchState(archBTN.getSelection());
    }
  }
);
  browseDirBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String result=openDirectoryDialog();
      if (result != null) {
        dirTxt.setText(result);
        File file=new File(result);
        repositoryTree.setInput(file);
        repositoryTree.setAllChecked(true);
        repositoryTree.expandAll();
        repositoryTree.refresh();
      }
    }
    private String openDirectoryDialog(){
      DirectoryDialog dialog=new DirectoryDialog(Display.getDefault().getActiveShell());
      if (dirTxt.getText() != null) {
        dialog.setFilterPath(dirTxt.getText());
      }
      return dialog.open();
    }
  }
);
  browseArchBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String result=openFileDialog();
      if (result != null) {
        archTxt.setText(result);
      }
    }
    private String openFileDialog(){
      FileDialog dialog=new FileDialog(Display.getDefault().getActiveShell());
      dialog.setFilterExtensions(FILE_EXPORT_MASK);
      if (archTxt.getText() != null) {
        dialog.setFileName(archTxt.getText());
      }
      return dialog.open();
    }
  }
);
  removeInvalidBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (invalidRecords != null) {
        for (        ItemRecord record : invalidRecords) {
          File file=record.getFile();
          if (repositoryTree.getChecked(file)) {
            repositoryTree.setChecked(file,!removeInvalidBTN.getSelection());
          }
        }
        repositoryTree.refresh();
      }
      super.widgetSelected(e);
    }
  }
);
}

Fixed version (ground truth):
/** 
 * DOC bZhou Comment method "addListeners".
 */
private void addListeners(){
  dirBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      setDirState(dirBTN.getSelection());
    }
  }
);
  archBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      setArchState(archBTN.getSelection());
    }
  }
);
  browseDirBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String result=openDirectoryDialog();
      if (result != null) {
        dirTxt.setText(result);
        File file=new File(result);
        repositoryTree.setInput(file);
        repositoryTree.setAllChecked(true);
        repositoryTree.expandAll();
        repositoryTree.refresh();
      }
    }
    private String openDirectoryDialog(){
      DirectoryDialog dialog=new DirectoryDialog(Display.getDefault().getActiveShell());
      if (dirTxt.getText() != null) {
        dialog.setFilterPath(dirTxt.getText());
      }
      return dialog.open();
    }
  }
);
  browseArchBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String result=openFileDialog();
      if (result != null) {
        archTxt.setText(result);
      }
    }
    private String openFileDialog(){
      FileDialog dialog=new FileDialog(Display.getDefault().getActiveShell());
      dialog.setFilterExtensions(FILE_EXPORT_MASK);
      if (archTxt.getText() != null) {
        dialog.setFileName(archTxt.getText());
      }
      return dialog.open();
    }
  }
);
  removeInvalidBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (invalidRecords != null) {
        for (        ItemRecord record : invalidRecords) {
          File file=record.getFile();
          repositoryTree.setChecked(file,false);
        }
        repositoryTree.refresh();
      }
      super.widgetSelected(e);
    }
  }
);
}