Program: 127421
Project: 127421
Buggy source:
/** 
 * addButtonControls.
 */
@Override protected void addUtilsButtonListeners(){
  tableCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_TABLE,tableCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_EXTERNAL_TABLE,tableCheck.getSelection());
    }
  }
);
  viewCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_VIEW,viewCheck.getSelection());
    }
  }
);
  synonymCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_SYNONYM,synonymCheck.getSelection());
    }
  }
);
  if (isOracle()) {
    publicSynonymCheck.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        getTableInfoParameters().changeType(ETableTypes.TABLETYPE_ALL_SYNONYM,publicSynonymCheck.getSelection());
        ExtractMetaDataUtils.setUseAllSynonyms(publicSynonymCheck.getSelection());
        if (publicSynonymCheck.getSelection()) {
          tableCheck.setEnabled(false);
          viewCheck.setEnabled(false);
          synonymCheck.setEnabled(false);
        }
 else {
          tableCheck.setEnabled(true);
          viewCheck.setEnabled(true);
          synonymCheck.setEnabled(true);
        }
      }
    }
);
  }
  SelectionAdapter selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      addName="String_Node_Str";
      Dialog dialog=new Dialog(getShell()){
        Text addText;
        @Override protected Control createDialogArea(        Composite parent){
          Composite createDialogArea=(Composite)super.createDialogArea(parent);
          Label addLabel=new Label(createDialogArea,SWT.NONE);
          addLabel.setText(Messages.getString("String_Node_Str"));
          addText=new Text(createDialogArea,SWT.BORDER);
          GridData gridData=new GridData(GridData.FILL_BOTH);
          addText.setLayoutData(gridData);
          addText.setText(addName);
          return createDialogArea;
        }
        @Override protected void configureShell(        Shell newShell){
          super.configureShell(newShell);
          newShell.setText(Messages.getString("String_Node_Str"));
        }
        @Override protected void okPressed(){
          addName=addText.getText();
          super.okPressed();
        }
      }
;
      if (dialog.open() == Dialog.OK) {
        nameFilter.add(addName,0);
        nameFilter.select(0);
        removeButton.setEnabled(true);
        editButton.setEnabled(true);
      }
    }
  }
;
  newButton.addSelectionListener(selectionAdapter);
  selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      final int index=nameFilter.getSelectionIndex();
      if (nameFilter.getSelection().length > 0) {
        addName=nameFilter.getSelection()[0];
      }
      Dialog dialog=new Dialog(getShell()){
        Text addText;
        @Override protected Control createDialogArea(        Composite parent){
          Composite createDialogArea=(Composite)super.createDialogArea(parent);
          Label addLabel=new Label(createDialogArea,SWT.NONE);
          addLabel.setText(Messages.getString("String_Node_Str"));
          addText=new Text(createDialogArea,SWT.BORDER);
          GridData gridData=new GridData(GridData.FILL_BOTH);
          addText.setLayoutData(gridData);
          addText.setText(addName);
          return createDialogArea;
        }
        @Override protected void configureShell(        Shell newShell){
          super.configureShell(newShell);
          newShell.setText(Messages.getString("String_Node_Str"));
        }
        @Override protected void okPressed(){
          addName=addText.getText();
          super.okPressed();
        }
      }
;
      if (dialog.open() == Dialog.OK) {
        nameFilter.setItem(index,addName);
        nameFilter.select(index);
      }
    }
  }
;
  editButton.addSelectionListener(selectionAdapter);
  selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (nameFilter.getSelection().length > 0) {
        addName=nameFilter.getSelection()[0];
        nameFilter.remove(addName);
      }
    }
  }
;
  removeButton.addSelectionListener(selectionAdapter);
}

Fixed version (ground truth):
/** 
 * addButtonControls.
 */
@Override protected void addUtilsButtonListeners(){
  tableCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_TABLE,tableCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_EXTERNAL_TABLE,tableCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.EXTERNAL_TABLE,tableCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.MANAGED_TABLE,tableCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.INDEX_TABLE,tableCheck.getSelection());
    }
  }
);
  viewCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_VIEW,viewCheck.getSelection());
      getTableInfoParameters().changeType(ETableTypes.VIRTUAL_VIEW,viewCheck.getSelection());
    }
  }
);
  synonymCheck.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      getTableInfoParameters().changeType(ETableTypes.TABLETYPE_SYNONYM,synonymCheck.getSelection());
    }
  }
);
  if (isOracle()) {
    publicSynonymCheck.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        getTableInfoParameters().changeType(ETableTypes.TABLETYPE_ALL_SYNONYM,publicSynonymCheck.getSelection());
        ExtractMetaDataUtils.setUseAllSynonyms(publicSynonymCheck.getSelection());
        if (publicSynonymCheck.getSelection()) {
          tableCheck.setEnabled(false);
          viewCheck.setEnabled(false);
          synonymCheck.setEnabled(false);
        }
 else {
          tableCheck.setEnabled(true);
          viewCheck.setEnabled(true);
          synonymCheck.setEnabled(true);
        }
      }
    }
);
  }
  SelectionAdapter selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      addName="String_Node_Str";
      Dialog dialog=new Dialog(getShell()){
        Text addText;
        @Override protected Control createDialogArea(        Composite parent){
          Composite createDialogArea=(Composite)super.createDialogArea(parent);
          Label addLabel=new Label(createDialogArea,SWT.NONE);
          addLabel.setText(Messages.getString("String_Node_Str"));
          addText=new Text(createDialogArea,SWT.BORDER);
          GridData gridData=new GridData(GridData.FILL_BOTH);
          addText.setLayoutData(gridData);
          addText.setText(addName);
          return createDialogArea;
        }
        @Override protected void configureShell(        Shell newShell){
          super.configureShell(newShell);
          newShell.setText(Messages.getString("String_Node_Str"));
        }
        @Override protected void okPressed(){
          addName=addText.getText();
          super.okPressed();
        }
      }
;
      if (dialog.open() == Dialog.OK) {
        nameFilter.add(addName,0);
        nameFilter.select(0);
        removeButton.setEnabled(true);
        editButton.setEnabled(true);
      }
    }
  }
;
  newButton.addSelectionListener(selectionAdapter);
  selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      final int index=nameFilter.getSelectionIndex();
      if (nameFilter.getSelection().length > 0) {
        addName=nameFilter.getSelection()[0];
      }
      Dialog dialog=new Dialog(getShell()){
        Text addText;
        @Override protected Control createDialogArea(        Composite parent){
          Composite createDialogArea=(Composite)super.createDialogArea(parent);
          Label addLabel=new Label(createDialogArea,SWT.NONE);
          addLabel.setText(Messages.getString("String_Node_Str"));
          addText=new Text(createDialogArea,SWT.BORDER);
          GridData gridData=new GridData(GridData.FILL_BOTH);
          addText.setLayoutData(gridData);
          addText.setText(addName);
          return createDialogArea;
        }
        @Override protected void configureShell(        Shell newShell){
          super.configureShell(newShell);
          newShell.setText(Messages.getString("String_Node_Str"));
        }
        @Override protected void okPressed(){
          addName=addText.getText();
          super.okPressed();
        }
      }
;
      if (dialog.open() == Dialog.OK) {
        nameFilter.setItem(index,addName);
        nameFilter.select(index);
      }
    }
  }
;
  editButton.addSelectionListener(selectionAdapter);
  selectionAdapter=new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (nameFilter.getSelection().length > 0) {
        addName=nameFilter.getSelection()[0];
        nameFilter.remove(addName);
      }
    }
  }
;
  removeButton.addSelectionListener(selectionAdapter);
}