Program: 68056
Project: 68056
Buggy source:
public boolean performFinish(){
  final IPath locPath=newReportFileWizardPage.getFileLocationFullPath();
  String fn=newReportFileWizardPage.getFileName();
  final String fileName;
  if (!Platform.getOS().equals(Platform.WS_WIN32)) {
    if (!fn.endsWith(fileExtension)) {
      fileName=fn + fileExtension;
    }
 else {
      fileName=fn;
    }
  }
 else {
    if (!fn.toLowerCase(Locale.getDefault()).endsWith(fileExtension)) {
      fileName=fn + fileExtension;
    }
 else {
      fileName=fn;
    }
  }
  String cheatSheetIdFromPage="String_Node_Str";
  boolean showCheatSheetFromPage=false;
  ReportDesignHandle selTemplate=templateChoicePage.getTemplate();
  final String templateFileName=selTemplate.getFileName();
  cheatSheetIdFromPage=selTemplate.getCheatSheet();
  if (cheatSheetIdFromPage == null) {
    cheatSheetIdFromPage="String_Node_Str";
  }
  showCheatSheetFromPage=templateChoicePage.getShowCheatSheet();
  final String cheatSheetId=cheatSheetIdFromPage;
  final boolean showCheatSheet=showCheatSheetFromPage;
  IRunnableWithProgress op=new IRunnableWithProgress(){
    public void run(    IProgressMonitor monitor){
      try {
        doFinish(locPath,fileName,templateFileName,cheatSheetId,showCheatSheet,monitor);
      }
  finally {
        monitor.done();
      }
    }
  }
;
  try {
    getContainer().run(true,false,op);
  }
 catch (  InterruptedException e) {
    return false;
  }
catch (  InvocationTargetException e) {
    Throwable realException=e.getTargetException();
    ExceptionUtil.handle(realException);
    return false;
  }
  return true;
}

Fixed version (ground truth):
public boolean performFinish(){
  final IPath locPath=newReportFileWizardPage.getFileLocationFullPath();
  String fn=newReportFileWizardPage.getFileName();
  final String fileName;
  if (!Platform.getOS().equals(Platform.WS_WIN32)) {
    if (!fn.endsWith(fileExtension)) {
      fileName=fn + fileExtension;
    }
 else {
      fileName=fn;
    }
  }
 else {
    if (!fn.toLowerCase(Locale.getDefault()).endsWith(fileExtension)) {
      fileName=fn + fileExtension;
    }
 else {
      fileName=fn;
    }
  }
  String cheatSheetIdFromPage="String_Node_Str";
  boolean showCheatSheetFromPage=false;
  final ReportDesignHandle selTemplate=templateChoicePage.getTemplate();
  final String templateFileName=selTemplate.getFileName();
  cheatSheetIdFromPage=selTemplate.getCheatSheet();
  if (cheatSheetIdFromPage == null) {
    cheatSheetIdFromPage="String_Node_Str";
  }
  showCheatSheetFromPage=templateChoicePage.getShowCheatSheet();
  final String cheatSheetId=cheatSheetIdFromPage;
  final boolean showCheatSheet=showCheatSheetFromPage;
  IRunnableWithProgress op=new IRunnableWithProgress(){
    public void run(    IProgressMonitor monitor){
      try {
        doFinish(locPath,fileName,templateFileName,resolveRemoteStream(templateFileName,selTemplate),cheatSheetId,showCheatSheet,monitor);
      }
  finally {
        monitor.done();
      }
    }
  }
;
  try {
    getContainer().run(true,false,op);
  }
 catch (  InterruptedException e) {
    return false;
  }
catch (  InvocationTargetException e) {
    Throwable realException=e.getTargetException();
    ExceptionUtil.handle(realException);
    return false;
  }
  return true;
}