Program: 64904
Project: 64904
Buggy source:
protected void createColumnBindingTableContents(Composite parent,Object input){
  columnTableViewer=CheckboxTableViewer.newCheckList(parent,SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION);
  GridData data=new GridData(GridData.FILL_BOTH);
  data.widthHint=450;
  data.heightHint=200;
  data.horizontalSpan=2;
  data.verticalIndent=5;
  columnTableViewer.getTable().setLayoutData(data);
  columnTableViewer.getTable().setHeaderVisible(true);
  columnTableViewer.getTable().setLinesVisible(true);
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText("String_Node_Str");
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText(Messages.getString("String_Node_Str"));
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText(Messages.getString("String_Node_Str"));
  TableLayout layout=new AutoResizeTableLayout(columnTableViewer.getTable());
  layout.addColumnData(new ColumnWeightData(6,true));
  layout.addColumnData(new ColumnWeightData(47,true));
  layout.addColumnData(new ColumnWeightData(47,true));
  columnTableViewer.getTable().setLayout(layout);
  columnTableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      enableOKButton();
    }
  }
);
  DataSetColumnProvider provider=new DataSetColumnProvider();
  columnTableViewer.setLabelProvider(provider);
  columnTableViewer.setContentProvider(provider);
  Composite buttonContainer=new Composite(parent,SWT.NONE);
  data=new GridData(GridData.FILL_HORIZONTAL);
  data.horizontalSpan=2;
  buttonContainer.setLayoutData(data);
  GridLayout gdLayout=new GridLayout();
  gdLayout.numColumns=2;
  gdLayout.marginWidth=gdLayout.marginHeight=0;
  buttonContainer.setLayout(gdLayout);
  Button selectAllButton=new Button(buttonContainer,SWT.PUSH);
  selectAllButton.setText(Messages.getString("String_Node_Str"));
  selectAllButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      columnTableViewer.setAllChecked(true);
      enableOKButton();
    }
  }
);
  Button deselectAllButton=new Button(buttonContainer,SWT.PUSH);
  deselectAllButton.setText(Messages.getString("String_Node_Str"));
  deselectAllButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      columnTableViewer.setAllChecked(false);
      enableOKButton();
    }
  }
);
  handleDataSetComboSelectedEvent();
  if (columns != null) {
    int count=columnTableViewer.getTable().getItemCount();
    List columnList=Arrays.asList(columns);
    for (int i=0; i < count; i++) {
      ResultSetColumnHandle column=(ResultSetColumnHandle)columnTableViewer.getElementAt(i);
      if (columnList.contains(column.getColumnName())) {
        columnTableViewer.setChecked(column,true);
      }
    }
  }
}

Fixed version (ground truth):
protected void createColumnBindingTableContents(Composite parent,Object input){
  columnTableViewer=CheckboxTableViewer.newCheckList(parent,SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION);
  GridData data=new GridData(GridData.FILL_BOTH);
  data.widthHint=450;
  data.heightHint=200;
  data.horizontalSpan=2;
  data.verticalIndent=5;
  columnTableViewer.getTable().setLayoutData(data);
  columnTableViewer.getTable().setHeaderVisible(true);
  columnTableViewer.getTable().setLinesVisible(true);
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText("String_Node_Str");
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText(Messages.getString("String_Node_Str"));
  new TableColumn(columnTableViewer.getTable(),SWT.NONE).setText(Messages.getString("String_Node_Str"));
  TableLayout layout=new AutoResizeTableLayout(columnTableViewer.getTable());
  layout.addColumnData(new ColumnWeightData(6,true));
  layout.addColumnData(new ColumnWeightData(47,true));
  layout.addColumnData(new ColumnWeightData(47,true));
  columnTableViewer.getTable().setLayout(layout);
  columnTableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      enableOKButton();
    }
  }
);
  DataSetColumnProvider provider=new DataSetColumnProvider();
  columnTableViewer.setLabelProvider(provider);
  columnTableViewer.setContentProvider(provider);
  Composite buttonContainer=new Composite(parent,SWT.NONE);
  data=new GridData(GridData.FILL_HORIZONTAL);
  data.horizontalSpan=2;
  buttonContainer.setLayoutData(data);
  GridLayout gdLayout=new GridLayout();
  gdLayout.numColumns=2;
  gdLayout.marginWidth=gdLayout.marginHeight=0;
  buttonContainer.setLayout(gdLayout);
  Button selectAllButton=new Button(buttonContainer,SWT.PUSH);
  selectAllButton.setText(Messages.getString("String_Node_Str"));
  selectAllButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      columnTableViewer.setAllChecked(true);
      enableOKButton();
    }
  }
);
  Button deselectAllButton=new Button(buttonContainer,SWT.PUSH);
  deselectAllButton.setText(Messages.getString("String_Node_Str"));
  deselectAllButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      columnTableViewer.setAllChecked(false);
      enableOKButton();
    }
  }
);
  handleDataSetComboSelectedEvent(input);
  if (columns != null) {
    int count=columnTableViewer.getTable().getItemCount();
    List columnList=Arrays.asList(columns);
    for (int i=0; i < count; i++) {
      ResultSetColumnHandle column=(ResultSetColumnHandle)columnTableViewer.getElementAt(i);
      if (columnList.contains(column.getColumnName())) {
        columnTableViewer.setChecked(column,true);
      }
    }
  }
}