Program: 70898
Project: 70898
Buggy source:
/** 
 * Refresh swt browser
 */
public void display(){
  String uri=getFileUri();
  if (uri != null && uri.length() > 0) {
    if (this.options == null) {
      this.options=new HashMap<String,String>();
      this.options.put(WebViewer.SERVLET_NAME_KEY,InputParameterHtmlDialog.VIEWER_RUN);
      this.options.put(WebViewer.FORMAT_KEY,WebViewer.HTML);
    }
    this.options.put(WebViewer.RESOURCE_FOLDER_KEY,ReportPlugin.getDefault().getResourceFolder());
    this.options.put(WebViewer.MAX_ROWS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXROW));
    this.options.put(WebViewer.MAX_CUBE_ROW_LEVELS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBEROWLEVEL));
    this.options.put(WebViewer.MAX_CUBE_COLUMN_LEVELS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBECOLUMNLEVEL));
    String extKey=ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.APPCONTEXT_EXTENSION_KEY);
    if (extKey != null && extKey.length() > 0) {
      this.options.put(WebViewer.APPCONTEXT_EXTENSION_KEY,extKey);
    }
    System.setProperty(IPreviewConstants.MAX_DATASET_ROWS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXROW));
    System.setProperty(IPreviewConstants.MAX_CUBE_ROW_LEVELS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBEROWLEVEL));
    System.setProperty(IPreviewConstants.MAX_CUBE_COLUMN_LEVELS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBECOLUMNLEVEL));
    if (browser != null && !browser.isDisposed()) {
      WebViewer.display(uri,browser,this.options);
    }
 else {
      WebViewer.display(uri,this.options);
    }
  }
}

Fixed version (ground truth):
/** 
 * Refresh swt browser
 */
public void display(){
  String uri=getFileUri();
  if (uri != null && uri.length() > 0) {
    if (this.options == null) {
      this.options=new HashMap<String,String>();
      this.options.put(WebViewer.SERVLET_NAME_KEY,InputParameterHtmlDialog.VIEWER_RUN);
      this.options.put(WebViewer.FORMAT_KEY,WebViewer.HTML);
    }
    this.options.put(WebViewer.RESOURCE_FOLDER_KEY,ReportPlugin.getDefault().getResourceFolder());
    this.options.put(WebViewer.MAX_ROWS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXROW));
    this.options.put(WebViewer.MAX_CUBE_ROW_LEVELS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBEROWLEVEL));
    this.options.put(WebViewer.MAX_CUBE_COLUMN_LEVELS_KEY,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBECOLUMNLEVEL));
    String extKey=ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.APPCONTEXT_EXTENSION_KEY);
    if (extKey != null && extKey.length() > 0) {
      this.options.put(WebViewer.APPCONTEXT_EXTENSION_KEY,extKey);
    }
 else {
      this.options.remove(WebViewer.APPCONTEXT_EXTENSION_KEY);
    }
    if (suggestShowParameterPage) {
      this.options.put(WebViewer.SHOW_PARAMETER_PAGE_KEY,"String_Node_Str");
    }
 else {
      this.options.remove(WebViewer.SHOW_PARAMETER_PAGE_KEY);
    }
    System.setProperty(IPreviewConstants.MAX_DATASET_ROWS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXROW));
    System.setProperty(IPreviewConstants.MAX_CUBE_ROW_LEVELS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBEROWLEVEL));
    System.setProperty(IPreviewConstants.MAX_CUBE_COLUMN_LEVELS,ViewerPlugin.getDefault().getPluginPreferences().getString(WebViewer.PREVIEW_MAXCUBECOLUMNLEVEL));
    if (browser != null && !browser.isDisposed()) {
      WebViewer.display(uri,browser,this.options);
    }
 else {
      WebViewer.display(uri,this.options);
    }
  }
}