Program: 102197
Project: 102197
Buggy source:
/** 
 * Launches the given wizard and initializes with the given selection
 * @param wizard
 * @param selection
 */
public static void launchWizard(final IWorkbenchWizard wizard,final IStructuredSelection selection,final Properties properties,boolean synchronous){
  if (synchronous) {
    Display.getDefault().syncExec(new Runnable(){
      @Override public void run(){
        wizard.init(PlatformUI.getWorkbench(),selection);
        if (properties != null && wizard instanceof IPropertiesContext) {
          ((IPropertiesContext)wizard).setProperties(properties);
        }
        WizardDialog wd=new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
        wd.create();
        String openProjectStatus=null;
        if (properties != null) {
          openProjectStatus=DesignerPropertiesUtil.getProjectStatus(properties);
        }
        if (openProjectStatus == null || !IPropertiesContext.NO_OPEN_PROJECT.equalsIgnoreCase(openProjectStatus)) {
          wd.setTitle(wizard.getWindowTitle());
          wd.open();
        }
      }
    }
);
  }
 else {
    Display.getDefault().asyncExec(new Runnable(){
      @Override public void run(){
        wizard.init(PlatformUI.getWorkbench(),selection);
        if (properties != null && wizard instanceof IPropertiesContext) {
          ((IPropertiesContext)wizard).setProperties(properties);
        }
        WizardDialog wd=new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
        wd.create();
        String openProjectStatus=null;
        if (properties != null) {
          openProjectStatus=DesignerPropertiesUtil.getProjectStatus(properties);
        }
        if (openProjectStatus == null || !IPropertiesContext.NO_OPEN_PROJECT.equalsIgnoreCase(openProjectStatus)) {
          wd.setTitle(wizard.getWindowTitle());
          wd.open();
        }
      }
    }
);
  }
}

Fixed version (ground truth):
/** 
 * Launches the given wizard and initializes with the given selection
 * @param wizard
 * @param selection
 */
public static void launchWizard(final IWorkbenchWizard wizard,final IStructuredSelection selection,final Properties properties,boolean synchronous){
  if (synchronous) {
    Display.getDefault().syncExec(new Runnable(){
      @Override public void run(){
        wizard.init(PlatformUI.getWorkbench(),selection);
        if (properties != null && wizard instanceof IPropertiesContext) {
          ((IPropertiesContext)wizard).setProperties(properties);
        }
        WizardDialog wd=new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
        wd.create();
        String openProjectStatus=null;
        if (properties != null) {
          openProjectStatus=DesignerPropertiesUtil.getProjectStatus(properties);
        }
        if (wizard instanceof NewModelProjectWizard || openProjectStatus == null || !IPropertiesContext.NO_OPEN_PROJECT.equalsIgnoreCase(openProjectStatus)) {
          wd.setTitle(wizard.getWindowTitle());
          wd.open();
        }
      }
    }
);
  }
 else {
    Display.getDefault().asyncExec(new Runnable(){
      @Override public void run(){
        wizard.init(PlatformUI.getWorkbench(),selection);
        if (properties != null && wizard instanceof IPropertiesContext) {
          ((IPropertiesContext)wizard).setProperties(properties);
        }
        WizardDialog wd=new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);
        wd.create();
        String openProjectStatus=null;
        if (properties != null) {
          openProjectStatus=DesignerPropertiesUtil.getProjectStatus(properties);
        }
        if (openProjectStatus == null || !IPropertiesContext.NO_OPEN_PROJECT.equalsIgnoreCase(openProjectStatus)) {
          wd.setTitle(wizard.getWindowTitle());
          wd.open();
        }
      }
    }
);
  }
}