Program: 47505
Project: 47505
Buggy source:
/** 
 * Called when the Xul Dom is ready, grab all Xul references here.
 */
@Bindable public void init(){
  openBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  saveBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  saveAsBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  newAnalysisBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  showBrowserBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  contentEditBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
  BindingFactory bf=new GwtBindingFactory(this.document);
  bf.createBinding(model,"String_Node_Str",saveBtn,"String_Node_Str");
  bf.createBinding(model,"String_Node_Str",saveAsBtn,"String_Node_Str");
  bf.createBinding(model,"String_Node_Str",contentEditBtn,"String_Node_Str");
  bf.createBinding(model,"String_Node_Str",this,"String_Node_Str");
  propertiesMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  saveMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  saveAsMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  showBrowserMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  showWorkspaceMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  useDescriptionsMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  showHiddenFilesMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
  languageMenu=(XulMenubar)document.getElementById("String_Node_Str");
  themesMenu=(XulMenubar)document.getElementById("String_Node_Str");
  toolsMenu=(XulMenubar)document.getElementById("String_Node_Str");
  Map<String,String> supportedLanguages=Messages.getResourceBundle().getSupportedLanguages();
  if (supportedLanguages != null && supportedLanguages.keySet() != null && !supportedLanguages.isEmpty()) {
    MenuBar langMenu=(MenuBar)languageMenu.getManagedObject();
    for (    String lang : supportedLanguages.keySet()) {
      MenuItem langMenuItem=new MenuItem(supportedLanguages.get(lang),new SwitchLocaleCommand(lang));
      langMenuItem.getElement().setId(supportedLanguages.get(lang) + "String_Node_Str");
      langMenu.addItem(langMenuItem);
    }
  }
  RequestBuilder getActiveThemeRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str");
  try {
    getActiveThemeRequestBuilder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable exception){
      }
      public void onResponseReceived(      Request request,      Response response){
        final String activeTheme=response.getText();
        RequestBuilder getThemesRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str");
        getThemesRequestBuilder.setHeader("String_Node_Str","String_Node_Str");
        try {
          getThemesRequestBuilder.sendRequest(null,new RequestCallback(){
            public void onError(            Request arg0,            Throwable arg1){
            }
            public void onResponseReceived(            Request request,            Response response){
              JsArray<JsTheme> themes=JsTheme.getThemes(JsonUtils.escapeJsonForEval(response.getText()));
              for (int i=0; i < themes.length(); i++) {
                JsTheme theme=themes.get(i);
                PentahoMenuItem themeMenuItem=new PentahoMenuItem(theme.getName(),new SwitchThemeCommand(theme.getId()));
                themeMenuItem.getElement().setId(theme.getId() + "String_Node_Str");
                themeMenuItem.setChecked(theme.getId().equals(activeTheme));
                ((MenuBar)themesMenu.getManagedObject()).addItem(themeMenuItem);
              }
            }
          }
);
        }
 catch (        RequestException e) {
        }
      }
    }
);
  }
 catch (  RequestException e) {
    Window.alert(e.getMessage());
  }
  try {
    final String url=GWT.getHostPageBaseURL() + "String_Node_Str";
    RequestBuilder requestBuilder=new RequestBuilder(RequestBuilder.GET,url);
    requestBuilder.setHeader("String_Node_Str","String_Node_Str");
    requestBuilder.sendRequest(null,new RequestCallback(){
      public void onError(      Request request,      Throwable caught){
      }
      public void onResponseReceived(      Request request,      Response response){
        toolsMenu.setVisible("String_Node_Str".equalsIgnoreCase(response.getText()));
      }
    }
);
  }
 catch (  RequestException e) {
    Window.alert(e.getMessage());
  }
  bf.createBinding(model,"String_Node_Str",propertiesMenuItem,"String_Node_Str");
  bf.createBinding(model,"String_Node_Str",saveMenuItem,"String_Node_Str");
  bf.createBinding(model,"String_Node_Str",saveAsMenuItem,"String_Node_Str");
  ((PentahoMenuItem)showBrowserMenuItem.getManagedObject()).setChecked(SolutionBrowserPanel.getInstance().isNavigatorShowing());
  ((PentahoMenuItem)showWorkspaceMenuItem.getManagedObject()).setChecked("String_Node_Str".equals(PerspectiveManager.getInstance().getActivePerspective().getId()));
  setupNativeHooks(this);
}

Fixed version (ground truth):
/** 
 * Called when the Xul Dom is ready, grab all Xul references here.
 */
@Bindable public void init(){
  Timer t=new Timer(){
    @Override public void run(){
      openBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      saveBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      saveAsBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      newAnalysisBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      showBrowserBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      contentEditBtn=(XulToolbarbutton)document.getElementById("String_Node_Str");
      BindingFactory bf=new GwtBindingFactory(document);
      bf.createBinding(model,"String_Node_Str",saveBtn,"String_Node_Str");
      bf.createBinding(model,"String_Node_Str",saveAsBtn,"String_Node_Str");
      bf.createBinding(model,"String_Node_Str",contentEditBtn,"String_Node_Str");
      bf.createBinding(model,"String_Node_Str",this,"String_Node_Str");
      propertiesMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      saveMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      saveAsMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      showBrowserMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      showWorkspaceMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      useDescriptionsMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      showHiddenFilesMenuItem=(XulMenuitem)document.getElementById("String_Node_Str");
      languageMenu=(XulMenubar)document.getElementById("String_Node_Str");
      themesMenu=(XulMenubar)document.getElementById("String_Node_Str");
      toolsMenu=(XulMenubar)document.getElementById("String_Node_Str");
      Map<String,String> supportedLanguages=Messages.getResourceBundle().getSupportedLanguages();
      if (supportedLanguages != null && supportedLanguages.keySet() != null && !supportedLanguages.isEmpty()) {
        MenuBar langMenu=(MenuBar)languageMenu.getManagedObject();
        for (        String lang : supportedLanguages.keySet()) {
          MenuItem langMenuItem=new MenuItem(supportedLanguages.get(lang),new SwitchLocaleCommand(lang));
          langMenuItem.getElement().setId(supportedLanguages.get(lang) + "String_Node_Str");
          langMenu.addItem(langMenuItem);
        }
      }
      RequestBuilder getActiveThemeRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str");
      try {
        getActiveThemeRequestBuilder.sendRequest(null,new RequestCallback(){
          public void onError(          Request request,          Throwable exception){
          }
          public void onResponseReceived(          Request request,          Response response){
            final String activeTheme=response.getText();
            RequestBuilder getThemesRequestBuilder=new RequestBuilder(RequestBuilder.GET,GWT.getHostPageBaseURL() + "String_Node_Str");
            getThemesRequestBuilder.setHeader("String_Node_Str","String_Node_Str");
            try {
              getThemesRequestBuilder.sendRequest(null,new RequestCallback(){
                public void onError(                Request arg0,                Throwable arg1){
                }
                public void onResponseReceived(                Request request,                Response response){
                  JsArray<JsTheme> themes=JsTheme.getThemes(JsonUtils.escapeJsonForEval(response.getText()));
                  for (int i=0; i < themes.length(); i++) {
                    JsTheme theme=themes.get(i);
                    PentahoMenuItem themeMenuItem=new PentahoMenuItem(theme.getName(),new SwitchThemeCommand(theme.getId()));
                    themeMenuItem.getElement().setId(theme.getId() + "String_Node_Str");
                    themeMenuItem.setChecked(theme.getId().equals(activeTheme));
                    ((MenuBar)themesMenu.getManagedObject()).addItem(themeMenuItem);
                  }
                }
              }
);
            }
 catch (            RequestException e) {
            }
          }
        }
);
      }
 catch (      RequestException e) {
        Window.alert(e.getMessage());
      }
      try {
        final String url=GWT.getHostPageBaseURL() + "String_Node_Str";
        RequestBuilder requestBuilder=new RequestBuilder(RequestBuilder.GET,url);
        requestBuilder.setHeader("String_Node_Str","String_Node_Str");
        requestBuilder.sendRequest(null,new RequestCallback(){
          public void onError(          Request request,          Throwable caught){
          }
          public void onResponseReceived(          Request request,          Response response){
            toolsMenu.setVisible("String_Node_Str".equalsIgnoreCase(response.getText()));
          }
        }
);
      }
 catch (      RequestException e) {
        Window.alert(e.getMessage());
      }
      bf.createBinding(model,"String_Node_Str",propertiesMenuItem,"String_Node_Str");
      bf.createBinding(model,"String_Node_Str",saveMenuItem,"String_Node_Str");
      bf.createBinding(model,"String_Node_Str",saveAsMenuItem,"String_Node_Str");
      ((PentahoMenuItem)showBrowserMenuItem.getManagedObject()).setChecked(SolutionBrowserPanel.getInstance().isNavigatorShowing());
      ((PentahoMenuItem)showWorkspaceMenuItem.getManagedObject()).setChecked("String_Node_Str".equals(PerspectiveManager.getInstance().getActivePerspective().getId()));
      setupNativeHooks(MantleController.this);
    }
  }
;
  t.schedule(10);
}