Program: 126376
Project: 126376
Buggy source:
/** 
 * addButtonControls.
 */
@Override protected void addUtilsButtonListeners(){
  checkConnectionButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      count=0;
      checkConnection(true);
    }
  }
);
  selectAllTablesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      updateStatus(IStatus.ERROR,null);
      TableItem[] tableItems=table.getItems();
      int size=tableItems.length;
      for (      TableItem tableItem2 : tableItems) {
        TableItem tableItem=tableItem2;
        if (!tableItem.getChecked()) {
          tableItem.setText(3,Messages.getString("String_Node_Str"));
          countPending++;
          parentWizardPage.setPageComplete(false);
          refreshTable(tableItem,size);
        }
 else {
          updateStatus(IStatus.OK,null);
        }
        tableItem.setChecked(true);
      }
      if (forTemplate) {
        parentWizardPage.setPageComplete(true);
      }
    }
  }
);
  selectNoneTablesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      count=0;
      countSuccess=0;
      countPending=0;
      TableItem[] tableItems=table.getItems();
      for (      TableItem tableItem : tableItems) {
        if (tableItem.getChecked()) {
          clearTableItem(tableItem);
          tableItem.setChecked(false);
        }
      }
      if (forTemplate) {
        parentWizardPage.setPageComplete(false);
      }
    }
  }
);
  addTableListener();
}

Fixed version (ground truth):
/** 
 * addButtonControls.
 */
@Override protected void addUtilsButtonListeners(){
  checkConnectionButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      count=0;
      checkConnection(true);
    }
  }
);
  selectAllTablesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      updateStatus(IStatus.ERROR,null);
      TableItem[] tableItems=table.getItems();
      int size=tableItems.length;
      for (      TableItem tableItem2 : tableItems) {
        TableItem tableItem=tableItem2;
        if (!tableItem.getChecked()) {
          tableItem.setText(3,Messages.getString("String_Node_Str"));
synchronized (countPending) {
            countPending++;
          }
          parentWizardPage.setPageComplete(false);
          refreshTable(tableItem,size);
        }
 else {
          updateStatus(IStatus.OK,null);
        }
        tableItem.setChecked(true);
      }
      if (forTemplate) {
        parentWizardPage.setPageComplete(true);
      }
    }
  }
);
  selectNoneTablesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent e){
      count=0;
      countSuccess=0;
      countPending=0;
      TableItem[] tableItems=table.getItems();
      for (      TableItem tableItem : tableItems) {
        if (tableItem.getChecked()) {
          clearTableItem(tableItem);
          tableItem.setChecked(false);
        }
      }
      if (forTemplate) {
        parentWizardPage.setPageComplete(false);
      }
    }
  }
);
  addTableListener();
}