Program: 65568
Project: 65568
Buggy source:
/** 
 * @return
 */
private IWizardPage getNextPageODAV2(){
  DataSetTypeElement dataSetElement=(DataSetTypeElement)((IStructuredSelection)dataSetTypeChooser.getSelection()).getFirstElement();
  if (m_designSession != null)   m_designSession=null;
  if (dataSetElement instanceof OdaDataSetTypeElement) {
    OdaDataSetTypeElement dElement=(OdaDataSetTypeElement)dataSetElement;
    IConfigurationElement element=dElement.getIConfigurationElement();
    AbstractDataSetWizard newWizard=(AbstractDataSetWizard)htDataSetWizards.get(element.getAttribute("String_Node_Str"));
    if (newWizard == null) {
      IConfigurationElement[] elements=element.getChildren("String_Node_Str");
      if (elements.length > 0) {
        try {
          Object wizard=elements[0].createExecutableExtension("String_Node_Str");
          if (wizard instanceof AbstractDataSetWizard) {
            newWizard=(AbstractDataSetWizard)wizard;
            newWizard.setConfigurationElement(element);
            newWizard.addPages();
            newWizard.setUseTransaction(useTransaction);
            htDataSetWizards.put(element.getAttribute("String_Node_Str"),newWizard);
          }
        }
 catch (        CoreException e) {
          ExceptionHandler.handle(e);
        }
      }
    }
    if (newWizard != null) {
      newWizard.setDataSource(getSelectedDataSource());
      newWizard.setDataSetName(nameEditor.getText().trim());
      if (newWizard.getDataSet() != null) {
        try {
          newWizard.getDataSet().setDataSource(newWizard.getDataSource().getName());
          newWizard.getDataSet().setName(newWizard.getDataSetName());
        }
 catch (        SemanticException e) {
          ExceptionHandler.handle(e);
        }
      }
      return newWizard.getStartingPage();
    }
  }
 else {
    IWizardPage page=helper.getNextPage(getSelectedDataSource(),dataSetElement);
    if (page == null)     return super.getNextPage();
 else     return page;
  }
  return super.getNextPage();
}

Fixed version (ground truth):
/** 
 * @return
 */
private IWizardPage getNextPageODAV2(){
  DataSetTypeElement dataSetElement=(DataSetTypeElement)((IStructuredSelection)dataSetTypeChooser.getSelection()).getFirstElement();
  if (m_designSession != null)   m_designSession=null;
  if (dataSetElement instanceof OdaDataSetTypeElement) {
    OdaDataSetTypeElement dElement=(OdaDataSetTypeElement)dataSetElement;
    IConfigurationElement element=dElement.getIConfigurationElement();
    AbstractDataSetWizard newWizard=null;
    if (element != null) {
      newWizard=(AbstractDataSetWizard)htDataSetWizards.get(element.getAttribute("String_Node_Str"));
    }
    if (newWizard == null && element != null) {
      IConfigurationElement[] elements=element.getChildren("String_Node_Str");
      if (elements.length > 0) {
        try {
          Object wizard=elements[0].createExecutableExtension("String_Node_Str");
          if (wizard instanceof AbstractDataSetWizard) {
            newWizard=(AbstractDataSetWizard)wizard;
            newWizard.setConfigurationElement(element);
            newWizard.addPages();
            newWizard.setUseTransaction(useTransaction);
            htDataSetWizards.put(element.getAttribute("String_Node_Str"),newWizard);
          }
        }
 catch (        CoreException e) {
          ExceptionHandler.handle(e);
        }
      }
    }
    if (newWizard != null) {
      newWizard.setDataSource(getSelectedDataSource());
      newWizard.setDataSetName(nameEditor.getText().trim());
      if (newWizard.getDataSet() != null) {
        try {
          newWizard.getDataSet().setDataSource(newWizard.getDataSource().getName());
          newWizard.getDataSet().setName(newWizard.getDataSetName());
        }
 catch (        SemanticException e) {
          ExceptionHandler.handle(e);
        }
      }
      return newWizard.getStartingPage();
    }
  }
 else {
    IWizardPage page=helper.getNextPage(getSelectedDataSource(),dataSetElement);
    if (page == null)     return super.getNextPage();
 else     return page;
  }
  return super.getNextPage();
}