Program: 47466
Project: 47466
Buggy source:
private PerspectiveManager(){
  getElement().setId("String_Node_Str");
  setStyleName("String_Node_Str");
  final String url=GWT.getHostPageBaseURL() + "String_Node_Str";
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,url);
  builder.setHeader("String_Node_Str","String_Node_Str");
  try {
    builder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable exception){
        Window.alert("String_Node_Str" + exception.getMessage());
      }
      public void onResponseReceived(      Request request,      Response response){
        JsArray<JsPerspective> jsperspectives=JsPerspective.parseJson(JsonUtils.escapeJsonForEval(response.getText()));
        ArrayList<IPluginPerspective> perspectives=new ArrayList<IPluginPerspective>();
        for (int i=0; i < jsperspectives.length(); i++) {
          JsPerspective jsperspective=jsperspectives.get(i);
          DefaultPluginPerspective perspective=new DefaultPluginPerspective();
          perspective.setContentUrl(jsperspective.getContentUrl());
          perspective.setId(jsperspective.getId());
          perspective.setLayoutPriority(Integer.parseInt(jsperspective.getLayoutPriority()));
          ArrayList<String> requiredSecurityActions=new ArrayList<String>();
          if (jsperspective.getRequiredSecurityActions() != null) {
            for (int j=0; j < jsperspective.getRequiredSecurityActions().length(); j++) {
              requiredSecurityActions.add(jsperspective.getRequiredSecurityActions().get(j));
            }
          }
          ArrayList<XulOverlay> overlays=new ArrayList<XulOverlay>();
          if (jsperspective.getOverlays() != null) {
            for (int j=0; j < jsperspective.getOverlays().length(); j++) {
              JsXulOverlay o=jsperspective.getOverlays().get(j);
              MantleXulOverlay overlay=new MantleXulOverlay(o.getId(),o.getOverlayUri(),o.getSource(),o.getResourceBundleUri());
              overlays.add(overlay);
            }
          }
          perspective.setOverlays(overlays);
          perspective.setRequiredSecurityActions(requiredSecurityActions);
          perspective.setResourceBundleUri(jsperspective.getResourceBundleUri());
          perspective.setTitle(jsperspective.getTitle());
          perspectives.add(perspective);
        }
        setPluginPerspectives(perspectives);
      }
    }
);
  }
 catch (  RequestException e) {
  }
  registerFunctions(this);
}

Fixed version (ground truth):
private PerspectiveManager(){
  getElement().setId("String_Node_Str");
  setStyleName("String_Node_Str");
  final String url=GWT.getHostPageBaseURL() + "String_Node_Str" + System.currentTimeMillis();
  RequestBuilder builder=new RequestBuilder(RequestBuilder.GET,url);
  builder.setHeader("String_Node_Str","String_Node_Str");
  try {
    builder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable exception){
        Window.alert("String_Node_Str" + exception.getMessage());
      }
      public void onResponseReceived(      Request request,      Response response){
        JsArray<JsPerspective> jsperspectives=JsPerspective.parseJson(JsonUtils.escapeJsonForEval(response.getText()));
        ArrayList<IPluginPerspective> perspectives=new ArrayList<IPluginPerspective>();
        for (int i=0; i < jsperspectives.length(); i++) {
          JsPerspective jsperspective=jsperspectives.get(i);
          DefaultPluginPerspective perspective=new DefaultPluginPerspective();
          perspective.setContentUrl(jsperspective.getContentUrl());
          perspective.setId(jsperspective.getId());
          perspective.setLayoutPriority(Integer.parseInt(jsperspective.getLayoutPriority()));
          ArrayList<String> requiredSecurityActions=new ArrayList<String>();
          if (jsperspective.getRequiredSecurityActions() != null) {
            for (int j=0; j < jsperspective.getRequiredSecurityActions().length(); j++) {
              requiredSecurityActions.add(jsperspective.getRequiredSecurityActions().get(j));
            }
          }
          ArrayList<XulOverlay> overlays=new ArrayList<XulOverlay>();
          if (jsperspective.getOverlays() != null) {
            for (int j=0; j < jsperspective.getOverlays().length(); j++) {
              JsXulOverlay o=jsperspective.getOverlays().get(j);
              MantleXulOverlay overlay=new MantleXulOverlay(o.getId(),o.getOverlayUri(),o.getSource(),o.getResourceBundleUri());
              overlays.add(overlay);
            }
          }
          perspective.setOverlays(overlays);
          perspective.setRequiredSecurityActions(requiredSecurityActions);
          perspective.setResourceBundleUri(jsperspective.getResourceBundleUri());
          perspective.setTitle(jsperspective.getTitle());
          perspectives.add(perspective);
        }
        setPluginPerspectives(perspectives);
      }
    }
);
  }
 catch (  RequestException e) {
  }
  registerFunctions(this);
}