Program: 139006
Project: 139006
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);
        populateElement();
      }
    }
    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();
    }
  }
);
  overwriteBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      dirTxt.setText(dirTxt.getText());
      populateElement();
    }
  }
);
  repositoryTree.getTree().addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      TreeItem item=(TreeItem)e.item;
      File sfile=(File)item.getData();
      if (sfile.isFile()) {
        ItemRecord record=new ItemRecord(sfile);
        List<File> dependencyFiles=record.getDependencyFiles();
        for (        File file : dependencyFiles) {
          repositoryTree.setChecked(file,item.getChecked());
        }
        repositoryTree.refresh();
        checkforErrors();
      }
    }
  }
);
  dirTxt.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      dirTextModified();
    }
  }
);
}

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);
        populateElement();
      }
    }
    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();
    }
  }
);
  overwriteBTN.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      dirTxt.setText(dirTxt.getText());
      populateElement();
    }
  }
);
  repositoryTree.getTree().addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      TreeItem item=(TreeItem)e.item;
      ItemRecord record=(ItemRecord)item.getData();
      if (record.getFile().isFile()) {
        for (        File file : record.getDependencyMap().keySet()) {
          ItemRecord findRecord=ItemRecord.findRecord(file);
          if (findRecord != null) {
            repositoryTree.setChecked(findRecord,item.getChecked());
          }
        }
      }
      repositoryTree.refresh();
      checkforErrors();
    }
  }
);
  dirTxt.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      dirTextModified();
    }
  }
);
}