Program: 78047
Project: 78047
Buggy source:
/** 
 * Add Driver Page to the Dialog
 * @param tabFolder tab Composite
 */
private void addDriverPage(TabFolder tabFolder){
  Composite page=new Composite(tabFolder,SWT.NONE);
  GridLayout layout=new GridLayout();
  layout.marginHeight=10;
  layout.marginWidth=10;
  layout.verticalSpacing=5;
  page.setLayout(layout);
  page.setLayoutData(new GridData(GridData.FILL_BOTH));
  final Table table=new Table(page,SWT.BORDER | SWT.FULL_SELECTION);
  GridData data=new GridData(GridData.FILL_BOTH);
  table.setLayoutData(data);
  table.setHeaderVisible(true);
  table.setLinesVisible(true);
  TableLayout tableLayout=new TableLayout();
  table.setLayout(tableLayout);
  TableColumn column0=new TableColumn(table,SWT.NONE);
  column0.setWidth(20);
  TableColumn column1=new TableColumn(table,SWT.NONE);
  column1.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column1.setWidth(300);
  column1.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(1,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  TableColumn column2=new TableColumn(table,SWT.NONE);
  column2.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column2.setWidth(100);
  column2.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(2,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  TableColumn column3=new TableColumn(table,SWT.NONE);
  column3.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column3.setWidth(100);
  column3.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(3,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  driverViewer=new TableViewer(table);
  driverViewer.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      if (inputElement instanceof Map) {
        return ((Map)inputElement).entrySet().toArray();
      }
      return new Object[0];
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
    public void dispose(){
    }
  }
);
  driverViewer.setSorter(null);
  driverViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      updateDriverButtons();
    }
  }
);
  driverViewer.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      editDriver();
    }
  }
);
  Composite buttons=new Composite(page,SWT.NONE);
  buttons.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  layout=new GridLayout();
  layout.numColumns=2;
  layout.marginHeight=0;
  layout.marginWidth=0;
  buttons.setLayout(layout);
  editButton=new Button(buttons,SWT.PUSH);
  editButton.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  data=new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
  data.widthHint=btnWidth;
  data.heightHint=btnHeight;
  editButton.setLayoutData(data);
  editButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editDriver();
    }
  }
);
  TabItem tabItem=new TabItem(tabFolder,SWT.NONE);
  tabItem.setControl(page);
  tabItem.setText(JdbcPlugin.getResourceString("String_Node_Str"));
}

Fixed version (ground truth):
/** 
 * Add Driver Page to the Dialog
 * @param tabFolder tab Composite
 */
private void addDriverPage(TabFolder tabFolder){
  Composite page=new Composite(tabFolder,SWT.NONE);
  GridLayout layout=new GridLayout();
  layout.marginHeight=10;
  layout.marginWidth=10;
  layout.verticalSpacing=5;
  page.setLayout(layout);
  page.setLayoutData(new GridData(GridData.FILL_BOTH));
  final Table table=new Table(page,SWT.BORDER | SWT.FULL_SELECTION);
  GridData data=new GridData(GridData.FILL_BOTH);
  table.setLayoutData(data);
  table.setHeaderVisible(true);
  table.setLinesVisible(true);
  TableLayout tableLayout=new TableLayout();
  table.setLayout(tableLayout);
  TableColumn column0=new TableColumn(table,SWT.NONE);
  column0.setWidth(20);
  TableColumn column1=new TableColumn(table,SWT.NONE);
  column1.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column1.setWidth(300);
  column1.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(1,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  TableColumn column2=new TableColumn(table,SWT.NONE);
  column2.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column2.setWidth(100);
  column2.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(2,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  TableColumn column3=new TableColumn(table,SWT.NONE);
  column3.setText(JdbcPlugin.getResourceString("String_Node_Str"));
  column3.setWidth(100);
  column3.addSelectionListener(new SelectionListener(){
    private boolean asc=false;
    public void widgetSelected(    SelectionEvent e){
      sortDriver(3,asc);
      asc=!asc;
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      widgetSelected(e);
    }
  }
);
  driverViewer=new TableViewer(table);
  driverViewer.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      if (inputElement instanceof Map) {
        return ((Map)inputElement).entrySet().toArray();
      }
      return new Object[0];
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
    public void dispose(){
    }
  }
);
  driverViewer.setSorter(null);
  driverViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      updateDriverButtons();
    }
  }
);
  driverViewer.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      editDriver();
    }
  }
);
  Composite buttons=new Composite(page,SWT.NONE);
  buttons.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  layout=new GridLayout();
  layout.numColumns=2;
  layout.marginHeight=0;
  layout.marginWidth=0;
  buttons.setLayout(layout);
  editButton=new Button(buttons,SWT.PUSH);
  editButton.setText(TEXT_EDITBUTTON);
  data=new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
  data.widthHint=btnWidth;
  editButton.setLayoutData(data);
  editButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editDriver();
    }
  }
);
  TabItem tabItem=new TabItem(tabFolder,SWT.NONE);
  tabItem.setControl(page);
  tabItem.setText(JdbcPlugin.getResourceString("String_Node_Str"));
}