Program: 35561
Project: 35561
Buggy source:
@Override public void onBind(){
  progresses=new EnumMap<ProgressType,Double>(ProgressType.class);
  view.getSynchronizePopup().initialize();
  eventBus.addHandler(OfflineEvent.getType(),new OfflineHandler(){
    @Override public void handleEvent(    OfflineEvent event){
      onStateChange(event.getState());
    }
  }
);
  ApplicationCacheManager.addHandler(createApplicationCacheEventHandler());
  final TransfertManager transfertManager=injector.getTransfertManager();
  if (transfertManager instanceof HasProgressListeners) {
    ((HasProgressListeners)transfertManager).setProgressListener(TransfertType.DOWNLOAD,createProgressAdapter(ProgressType.DOWNLOAD));
    ((HasProgressListeners)transfertManager).setProgressListener(TransfertType.UPLOAD,createProgressAdapter(ProgressType.UPLOAD));
  }
 else {
    view.getMenuPanel().removeFileBaseWidgets();
  }
  view.getMenuHandle().addDomHandler(new MouseOverHandler(){
    @Override public void onMouseOver(    MouseOverEvent event){
      linkHover=true;
      updateMenuVisibility();
    }
  }
,MouseOverEvent.getType());
  view.getMenuHandle().addDomHandler(new MouseOutHandler(){
    @Override public void onMouseOut(    MouseOutEvent event){
      linkHover=false;
      forceOpen=false;
      updateMenuVisibility();
    }
  }
,MouseOutEvent.getType());
  final OfflineMenuPanel menuPanel=view.getMenuPanel();
  menuPanel.addDomHandler(new MouseOverHandler(){
    @Override public void onMouseOver(    MouseOverEvent event){
      menuHover=true;
      updateMenuVisibility();
    }
  }
,MouseOverEvent.getType());
  menuPanel.addDomHandler(new MouseOutHandler(){
    @Override public void onMouseOut(    MouseOutEvent event){
      menuHover=false;
      forceOpen=false;
      updateMenuVisibility();
    }
  }
,MouseOutEvent.getType());
  menuPanel.setSigmahUpdateDate(ApplicationCacheManager.getUpdateDate());
  menuPanel.setDatabaseUpdateDate(getDatabaseUpdateDate());
  menuPanel.getRemoveOfflineDataAnchor().addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      confirmUserDatabaseRemoval();
    }
  }
);
  updateProgressBars();
}

Fixed version (ground truth):
@Override public void onBind(){
  progresses=new EnumMap<ProgressType,Double>(ProgressType.class);
  view.getSynchronizePopup().initialize();
  eventBus.addHandler(OfflineEvent.getType(),new OfflineHandler(){
    @Override public void handleEvent(    OfflineEvent event){
      onStateChange(event.getState());
    }
  }
);
  ApplicationCacheManager.addHandler(createApplicationCacheEventHandler());
  final TransfertManager transfertManager=injector.getTransfertManager();
  if (transfertManager instanceof HasProgressListeners) {
    ((HasProgressListeners)transfertManager).setProgressListener(TransfertType.DOWNLOAD,createProgressAdapter(ProgressType.DOWNLOAD));
    ((HasProgressListeners)transfertManager).setProgressListener(TransfertType.UPLOAD,createProgressAdapter(ProgressType.UPLOAD));
  }
 else {
    view.getMenuPanel().removeFileBaseWidgets();
  }
  view.getMenuHandle().addDomHandler(new MouseOverHandler(){
    @Override public void onMouseOver(    MouseOverEvent event){
      linkHover=true;
      updateMenuVisibility();
    }
  }
,MouseOverEvent.getType());
  view.getMenuHandle().addDomHandler(new MouseOutHandler(){
    @Override public void onMouseOut(    MouseOutEvent event){
      linkHover=false;
      forceOpen=false;
      updateMenuVisibility();
    }
  }
,MouseOutEvent.getType());
  final OfflineMenuPanel menuPanel=view.getMenuPanel();
  menuPanel.addDomHandler(new MouseOverHandler(){
    @Override public void onMouseOver(    MouseOverEvent event){
      menuHover=true;
      updateMenuVisibility();
    }
  }
,MouseOverEvent.getType());
  menuPanel.addDomHandler(new MouseOutHandler(){
    @Override public void onMouseOut(    MouseOutEvent event){
      menuHover=false;
      forceOpen=false;
      updateMenuVisibility();
    }
  }
,MouseOutEvent.getType());
  menuPanel.setSigmahUpdateDate(ApplicationCacheManager.getUpdateDate());
  menuPanel.setDatabaseUpdateDate(getDatabaseUpdateDate());
  menuPanel.getRemoveOfflineDataAnchor().addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      confirmUserDatabaseRemoval();
    }
  }
);
  updateProgressBars();
  menuPanel.getUpdateDatabaseAnchor().addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      if (!view.isEnabled(menuPanel.getUpdateDatabaseAnchor())) {
        return;
      }
      if (lastState == ApplicationState.READY_TO_SYNCHRONIZE) {
        setMenuVisible(false);
        pushAndPull();
      }
 else       if (lastState == ApplicationState.ONLINE) {
        setMenuVisible(false);
        pull();
      }
    }
  }
);
  menuPanel.getTransferFilesAnchor().addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      if (!view.isEnabled(menuPanel.getTransferFilesAnchor())) {
        return;
      }
      if (lastState == ApplicationState.ONLINE) {
        setMenuVisible(false);
        eventBus.navigate(Page.OFFLINE_SELECT_FILES);
      }
    }
  }
);
}