Program: 64844
Project: 64844
Buggy source:
/** 
 * Defines the initial layout for a page.
 */
private void defineLayout(IPageLayout layout){
  String editorArea=layout.getEditorArea();
  IFolderLayout topLeft=layout.createFolder("String_Node_Str",IPageLayout.LEFT,(float)0.26,editorArea);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,PaletteView.ID);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,DataView.ID);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,LibraryExplorerView.ID);
  IFolderLayout bottomLeft=layout.createFolder("String_Node_Str",IPageLayout.BOTTOM,(float)0.50,"String_Node_Str");
  addLayoutView(bottomLeft,IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT,IPageLayout.ID_RES_NAV);
  addLayoutView(bottomLeft,IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT,IPageLayout.ID_OUTLINE);
  IFolderLayout bottomRight=layout.createFolder("String_Node_Str",IPageLayout.BOTTOM,(float)0.66,editorArea);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,AttributeView.ID);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,IPageLayout.ID_PROBLEM_VIEW);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,"String_Node_Str");
  if (extra != null) {
    String[] ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_TOP_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        topLeft.addView(id);
      }
    }
    ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        bottomLeft.addView(id);
      }
    }
    ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT);
    if (ids != null) {
      for (      String id : ids) {
        bottomRight.addView(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_TOP_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        topLeft.addPlaceholder(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        bottomLeft.addPlaceholder(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT);
    if (ids != null) {
      for (      String id : ids) {
        bottomRight.addPlaceholder(id);
      }
    }
  }
  Preferences instancePrefs=(InstanceScope.INSTANCE).getNode("String_Node_Str");
  instancePrefs.putBoolean("String_Node_Str",false);
  try {
    instancePrefs.flush();
  }
 catch (  BackingStoreException e) {
  }
  IDialogSettings settings=((AbstractUIPlugin)Platform.getPlugin("String_Node_Str")).getDialogSettings();
  String className="String_Node_Str";
  if (settings.getSection(className) == null) {
    settings=settings.addNewSection(className);
  }
 else {
    settings=settings.getSection(className);
  }
  settings.put("String_Node_Str",false);
  settings.put("String_Node_Str",false);
  settings.put("String_Node_Str",true);
  settings.put("String_Node_Str",true);
}

Fixed version (ground truth):
/** 
 * Defines the initial layout for a page.
 */
private void defineLayout(IPageLayout layout){
  String editorArea=layout.getEditorArea();
  IFolderLayout topLeft=layout.createFolder("String_Node_Str",IPageLayout.LEFT,(float)0.26,editorArea);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,PaletteView.ID);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,DataView.ID);
  addLayoutView(topLeft,IReportPerspectiveExtra.LAYOUT_TOP_LEFT,LibraryExplorerView.ID);
  IFolderLayout bottomLeft=layout.createFolder("String_Node_Str",IPageLayout.BOTTOM,(float)0.50,"String_Node_Str");
  addLayoutView(bottomLeft,IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT,IPageLayout.ID_RES_NAV);
  addLayoutView(bottomLeft,IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT,IPageLayout.ID_OUTLINE);
  IFolderLayout bottomRight=layout.createFolder("String_Node_Str",IPageLayout.BOTTOM,(float)0.66,editorArea);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,AttributeView.ID);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,IPageLayout.ID_PROBLEM_VIEW);
  addLayoutView(bottomRight,IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT,"String_Node_Str");
  if (extra != null) {
    String[] ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_TOP_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        topLeft.addView(id);
      }
    }
    ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        bottomLeft.addView(id);
      }
    }
    ids=extra.getExtraLayoutView(IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT);
    if (ids != null) {
      for (      String id : ids) {
        bottomRight.addView(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_TOP_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        topLeft.addPlaceholder(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_BOTTOM_LEFT);
    if (ids != null) {
      for (      String id : ids) {
        bottomLeft.addPlaceholder(id);
      }
    }
    ids=extra.getExtraLayoutPlaceholder(IReportPerspectiveExtra.LAYOUT_BOTTOM_RIGHT);
    if (ids != null) {
      for (      String id : ids) {
        bottomRight.addPlaceholder(id);
      }
    }
  }
  Preferences instancePrefs=(InstanceScope.INSTANCE).getNode("String_Node_Str");
  instancePrefs.putBoolean("String_Node_Str",false);
  try {
    instancePrefs.flush();
  }
 catch (  BackingStoreException e) {
  }
  Plugin plugin=Platform.getPlugin("String_Node_Str");
  if (plugin != null) {
    IDialogSettings settings=((AbstractUIPlugin)plugin).getDialogSettings();
    String className="String_Node_Str";
    if (settings.getSection(className) == null) {
      settings=settings.addNewSection(className);
    }
 else {
      settings=settings.getSection(className);
    }
    settings.put("String_Node_Str",false);
    settings.put("String_Node_Str",false);
    settings.put("String_Node_Str",true);
    settings.put("String_Node_Str",true);
  }
}