Program: 66559
Project: 66559
Buggy source:
public void createControl(Composite parent){
  helper=new DataSourceSelectionHelper();
  Composite composite=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout();
  layout.numColumns=2;
  composite.setLayout(layout);
  setupDSChoiceListRadio(composite);
  setupConnectionProfileRadio(composite);
  GridData layoutData=new GridData(GridData.FILL_BOTH);
  layoutData.horizontalSpan=2;
  dataSourceList=new ListViewer(composite,SWT.SINGLE | SWT.BORDER);
  dataSourceList.getControl().setLayoutData(layoutData);
  dataSourceList.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      return (Object[])inputElement;
    }
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
  }
);
  dataSourceList.setLabelProvider(new LabelProvider(){
    public String getText(    Object element){
      String displayName=null;
      if (element instanceof ExtensionManifest) {
        ExtensionManifest config=(ExtensionManifest)element;
        DataSetProvider.findDataSourceElement(config.getExtensionID());
        displayName=config.getDataSourceDisplayName();
      }
 else {
        displayName=element.toString();
      }
      return displayName;
    }
  }
);
  dataSourceList.setInput(helper.getFilteredDataSourceArray());
  dataSourceList.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      prevSelectedDataSourceType=getSelectedDataSource();
      setPageComplete(!helper.hasNextPage(prevSelectedDataSourceType) && getMessageType() != ERROR);
    }
  }
);
  dataSourceList.setSorter(new ViewerSorter());
  dataSourceNameLabel=new Label(composite,SWT.NONE);
  dataSourceNameLabel.setText(Messages.getString("String_Node_Str"));
  dataSourceName=new Text(composite,SWT.BORDER);
  String name=ReportPlugin.getDefault().getCustomName(ReportDesignConstants.DATA_SOURCE_ELEMENT);
  if (name != null) {
    dataSourceName.setText(Utility.getUniqueDataSourceName(name));
  }
 else {
    dataSourceName.setText(Utility.getUniqueDataSourceName(Messages.getString("String_Node_Str")));
  }
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  dataSourceName.setLayoutData(layoutData);
  dataSourceName.setToolTipText(EMPTY_NAME);
  dataSourceName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (StringUtil.isBlank(dataSourceName.getText().trim())) {
        setMessage(EMPTY_NAME,ERROR);
      }
 else       if (isDuplicateName()) {
        setMessage(DUPLICATE_NAME,ERROR);
      }
 else       if (containInvalidCharactor(dataSourceName.getText())) {
        String msg=Messages.getFormattedString("String_Node_Str",new Object[]{dataSourceName.getText()});
        setMessage(msg,ERROR);
      }
 else {
        setMessage(Messages.getString("String_Node_Str"));
      }
      setPageComplete(!helper.hasNextPage(getSelectedDataSource()) && getMessageType() != ERROR);
    }
  }
);
  setControl(composite);
  Utility.setSystemHelp(getControl(),IHelpConstants.CONEXT_ID_DATASOURCE_NEW);
}

Fixed version (ground truth):
public void createControl(Composite parent){
  helper=new DataSourceSelectionHelper();
  Composite composite=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout();
  layout.numColumns=2;
  composite.setLayout(layout);
  setupDSChoiceListRadio(composite);
  setupConnectionProfileRadio(composite);
  GridData layoutData=new GridData(GridData.FILL_BOTH);
  layoutData.horizontalSpan=2;
  dataSourceList=new ListViewer(composite,SWT.SINGLE | SWT.BORDER);
  dataSourceList.getControl().setLayoutData(layoutData);
  dataSourceList.setContentProvider(new IStructuredContentProvider(){
    public Object[] getElements(    Object inputElement){
      return (Object[])inputElement;
    }
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
  }
);
  dataSourceList.setLabelProvider(new LabelProvider(){
    public String getText(    Object element){
      String displayName=null;
      if (element instanceof ExtensionManifest) {
        ExtensionManifest config=(ExtensionManifest)element;
        DataSetProvider.findDataSourceElement(config.getExtensionID());
        displayName=config.getDataSourceDisplayName();
      }
 else {
        displayName=element.toString();
      }
      return displayName;
    }
  }
);
  dataSourceList.setInput(helper.getFilteredDataSourceArray());
  dataSourceList.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      prevSelectedDataSourceType=getSelectedDataSource();
      setPageComplete(!helper.hasNextPage(prevSelectedDataSourceType) && getMessageType() != ERROR);
    }
  }
);
  dataSourceList.setSorter(new ViewerSorter());
  dataSourceNameLabel=new Label(composite,SWT.NONE);
  dataSourceNameLabel.setText(Messages.getString("String_Node_Str"));
  dataSourceName=new Text(composite,SWT.BORDER);
  String name=ReportPlugin.getDefault().getCustomName(ReportDesignConstants.DATA_SOURCE_ELEMENT);
  if (name != null) {
    dataSourceName.setText(Utility.getUniqueDataSourceName(name));
  }
 else {
    dataSourceName.setText(Utility.getUniqueDataSourceName(Messages.getString("String_Node_Str")));
  }
  dsName=dataSourceName.getText().trim();
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  dataSourceName.setLayoutData(layoutData);
  dataSourceName.setToolTipText(EMPTY_NAME);
  dataSourceName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      dsName=dataSourceName.getText().trim();
      if (StringUtil.isBlank(dataSourceName.getText().trim())) {
        setMessage(EMPTY_NAME,ERROR);
      }
 else       if (isDuplicateName()) {
        setMessage(DUPLICATE_NAME,ERROR);
      }
 else       if (containInvalidCharactor(dataSourceName.getText())) {
        String msg=Messages.getFormattedString("String_Node_Str",new Object[]{dataSourceName.getText()});
        setMessage(msg,ERROR);
      }
 else {
        setMessage(Messages.getString("String_Node_Str"));
      }
      setPageComplete(!helper.hasNextPage(getSelectedDataSource()) && getMessageType() != ERROR);
    }
  }
);
  setControl(composite);
  Utility.setSystemHelp(getControl(),IHelpConstants.CONEXT_ID_DATASOURCE_NEW);
}