Program: 74158
Project: 74158
Buggy source:
/** 
 * @param filterComboViewer
 */
private void setFilterComboContents(ComboViewer filterComboViewer){
  if (filterComboViewer == null) {
    return;
  }
  ArrayList dbTypeList=new ArrayList();
  DbType tableType=new DbType(DbType.TABLE_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType viewType=new DbType(DbType.VIEW_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType allType=new DbType(DbType.ALL_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType procedureType=new DbType(DbType.PROCEDURE_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  dbTypeList.add(allType);
  dbTypeList.add(tableType);
  dbTypeList.add(viewType);
  if (metaDataProvider.isProcedureSupported())   dbTypeList.add(procedureType);
  filterComboViewer.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      if (inputElement != null) {
        return ((ArrayList)inputElement).toArray();
      }
      return new DbType[]{};
    }
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
  }
);
  filterComboViewer.setLabelProvider(new LabelProvider(){
    public String getText(    Object inputElement){
      DbType dbType=(DbType)inputElement;
      return dbType.getName();
    }
  }
);
  filterComboViewer.setInput(dbTypeList);
  filterComboViewer.getCombo().select(0);
}

Fixed version (ground truth):
/** 
 * @param filterComboViewer
 */
private void setFilterComboContents(ComboViewer filterComboViewer){
  if (filterComboViewer == null) {
    return;
  }
  ArrayList dbTypeList=new ArrayList();
  DbType tableType=new DbType(DbType.TABLE_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType viewType=new DbType(DbType.VIEW_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType allType=new DbType(DbType.ALL_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  DbType procedureType=new DbType(DbType.PROCEDURE_TYPE,JdbcPlugin.getResourceString("String_Node_Str"));
  dbTypeList.add(allType);
  dbTypeList.add(tableType);
  dbTypeList.add(viewType);
  if (metaDataProvider.isProcedureSupported())   dbTypeList.add(procedureType);
  filterComboViewer.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      if (inputElement != null) {
        return ((ArrayList)inputElement).toArray();
      }
      return new DbType[]{};
    }
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
  }
);
  filterComboViewer.setLabelProvider(new LabelProvider(){
    public String getText(    Object inputElement){
      DbType dbType=(DbType)inputElement;
      return dbType.getName();
    }
  }
);
  filterComboViewer.setInput(dbTypeList);
  filterComboViewer.getCombo().select(0);
  filterComboViewer.getCombo().addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (getSelectedDbType().equals(DbType.ALL_STRING) || getSelectedDbType().equals(DbType.TABLE_STRING)) {
        showSystemTableCheckBox.setEnabled(true);
      }
 else {
        showSystemTableCheckBox.setEnabled(false);
      }
    }
  }
);
}