Program: 82039
Project: 82039
Buggy source:
public void onModuleLoad(){
  GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler(){
    public void onUncaughtException(    Throwable e){
      Window.alert("String_Node_Str" + e.getMessage());
    }
  }
);
  final EventBus eventBus=new SimpleEventBus();
  requestFactory=GWT.create(ExpensesRequestFactory.class);
  requestFactory.init(eventBus);
  RootLayoutPanel root=RootLayoutPanel.get();
  shell=new ExpensesShell();
  final ExpenseTree expenseTree=shell.getExpenseTree();
  final ExpenseList expenseList=shell.getExpenseList();
  final ExpenseDetails expenseDetails=shell.getExpenseDetails();
  root.add(shell);
  RequestEvent.register(eventBus,new AuthenticationFailureHandler());
  final LoginWidget login=shell.getLoginWidget();
  Receiver<UserInformationProxy> receiver=new Receiver<UserInformationProxy>(){
    public void onSuccess(    UserInformationProxy userInformationRecord,    Set<SyncResult> syncResults){
      login.setUserInformation(userInformationRecord);
    }
  }
;
  requestFactory.userInformationRequest().getCurrentUserInformation(Location.getHref()).fire(receiver);
  expenseTree.setListener(new ExpenseTree.Listener(){
    public void onSelection(    String department,    EmployeeProxy employee){
      lastDepartment=department;
      lastEmployee=employee;
      expenseList.setEmployee(department,employee);
      shell.showExpenseDetails(false);
    }
  }
);
  expenseTree.setRequestFactory(requestFactory);
  expenseList.setListener(new ExpenseList.Listener(){
    public void onReportSelected(    ReportProxy report){
      expenseDetails.setExpensesRequestFactory(requestFactory);
      expenseDetails.setReportRecord(report,lastDepartment,lastEmployee);
      shell.showExpenseDetails(true);
    }
  }
);
  expenseList.init(requestFactory,eventBus);
  expenseDetails.init(eventBus);
}

Fixed version (ground truth):
public void onModuleLoad(){
  GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler(){
    public void onUncaughtException(    Throwable e){
      Window.alert("String_Node_Str" + e.getMessage());
    }
  }
);
  final EventBus eventBus=new SimpleEventBus();
  requestFactory=GWT.create(ExpensesRequestFactory.class);
  requestFactory.init(eventBus);
  RootLayoutPanel root=RootLayoutPanel.get();
  shell=new ExpensesShell();
  final ExpenseTree expenseTree=shell.getExpenseTree();
  final ExpenseList expenseList=shell.getExpenseList();
  final ExpenseDetails expenseDetails=shell.getExpenseDetails();
  root.add(shell);
  RequestEvent.register(eventBus,new AuthenticationFailureHandler());
  final LoginWidget login=shell.getLoginWidget();
  Receiver<UserInformationProxy> receiver=new Receiver<UserInformationProxy>(){
    @Override public void onSuccess(    UserInformationProxy userInformationRecord,    Set<SyncResult> syncResults){
      login.setUserInformation(userInformationRecord);
    }
  }
;
  requestFactory.userInformationRequest().getCurrentUserInformation(Location.getHref()).fire(receiver);
  expenseTree.setListener(new ExpenseTree.Listener(){
    public void onSelection(    String department,    EmployeeProxy employee){
      lastDepartment=department;
      lastEmployee=employee;
      expenseList.setEmployee(department,employee);
      shell.showExpenseDetails(false);
    }
  }
);
  expenseTree.setRequestFactory(requestFactory);
  expenseList.setListener(new ExpenseList.Listener(){
    public void onReportSelected(    ReportProxy report){
      expenseDetails.setExpensesRequestFactory(requestFactory);
      expenseDetails.setReportRecord(report,lastDepartment,lastEmployee);
      shell.showExpenseDetails(true);
    }
  }
);
  expenseList.init(requestFactory,eventBus);
  expenseDetails.init(eventBus);
}