Program: 69565
Project: 69565
Buggy source:
@Override protected void formInnerEvent(UserRequest ureq,FormItem source,FormEvent event){
  if (source == weeklyCalendar) {
    if (event instanceof KalendarGUIEditEvent) {
      KalendarGUIEditEvent guiEvent=(KalendarGUIEditEvent)event;
      KalendarEvent kalendarEvent=guiEvent.getKalendarEvent();
      if (kalendarEvent == null) {
        getWindowControl().setError(translate("String_Node_Str"));
        return;
      }
      String recurrence=kalendarEvent.getRecurrenceRule();
      boolean isImported=false;
      KalendarRenderWrapper kalendarRenderWrapper=guiEvent.getKalendarRenderWrapper();
      if (kalendarRenderWrapper != null) {
        isImported=kalendarRenderWrapper.isImported();
      }
      if (!isImported && recurrence != null && !recurrence.equals("String_Node_Str")) {
        List<String> btnLabels=new ArrayList<String>();
        btnLabels.add(translate("String_Node_Str"));
        btnLabels.add(translate("String_Node_Str"));
        btnLabels.add(translate("String_Node_Str"));
        if (dbcSequence != null)         dbcSequence.dispose();
        dbcSequence=DialogBoxUIFactory.createGenericDialog(ureq,getWindowControl(),translate("String_Node_Str"),translate("String_Node_Str"),btnLabels);
        dbcSequence.addControllerListener(this);
        dbcSequence.setUserObject(guiEvent);
        dbcSequence.activate();
        return;
      }
      KalendarRenderWrapper kalendarWrapper=guiEvent.getKalendarRenderWrapper();
      pushEditEventController(ureq,kalendarEvent,kalendarWrapper);
    }
 else     if (event instanceof KalendarGUIAddEvent) {
      pushAddEventController((KalendarGUIAddEvent)event,ureq);
    }
 else     if (event instanceof KalendarGUISelectEvent) {
      KalendarGUISelectEvent selectEvent=(KalendarGUISelectEvent)event;
      doOpenEventCallout(ureq,selectEvent.getKalendarEvent(),selectEvent.getKalendarRenderWrapper(),selectEvent.getTargetDomId());
    }
 else     if (event instanceof KalendarGUIMoveEvent) {
      KalendarGUIMoveEvent moveEvent=(KalendarGUIMoveEvent)event;
      doMove(moveEvent.getKalendarEvent(),moveEvent.getDayDelta(),moveEvent.getMinuteDelta(),moveEvent.getAllDay());
    }
  }
 else   if (source == subscribeButton || source == unsubscribeButton) {
    removeAsListenerAndDispose(subscriptionController);
    if (calendarSubscription.isSubscribed() == (source == unsubscribeButton)) {
      subscriptionController=calendarSubscription.triggerSubscribeAction();
    }
    if (subscriptionController != null) {
      listenTo(subscriptionController);
      flc.put("String_Node_Str",subscriptionController.getInitialComponent());
    }
 else {
      flc.contextPut("String_Node_Str",new Boolean(calendarSubscription.isSubscribed()));
      CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(new KalendarModifiedEvent(),OresHelper.lookupType(CalendarManager.class));
    }
  }
 else   if (event instanceof KalendarGUIPrintEvent) {
    KalendarGUIPrintEvent printEvent=(KalendarGUIPrintEvent)event;
    if (printEvent.getFrom() != null && printEvent.getTo() != null) {
      doPrint(printEvent.getFrom(),printEvent.getTo());
    }
 else     if (printEvent.getTargetDomId() != null) {
      doPrintEventCallout(ureq,printEvent.getTargetDomId());
    }
  }
  super.formInnerEvent(ureq,source,event);
}

Fixed version (ground truth):
@Override protected void formInnerEvent(UserRequest ureq,FormItem source,FormEvent event){
  if (source == weeklyCalendar) {
    if (event instanceof KalendarGUIEditEvent) {
      KalendarGUIEditEvent guiEvent=(KalendarGUIEditEvent)event;
      KalendarEvent kalendarEvent=guiEvent.getKalendarEvent();
      if (kalendarEvent == null) {
        getWindowControl().setError(translate("String_Node_Str"));
        return;
      }
      String recurrence=kalendarEvent.getRecurrenceRule();
      boolean isImported=false;
      KalendarRenderWrapper kalendarRenderWrapper=guiEvent.getKalendarRenderWrapper();
      if (kalendarRenderWrapper != null) {
        isImported=kalendarRenderWrapper.isImported();
      }
      if (!isImported && recurrence != null && !recurrence.equals("String_Node_Str")) {
        List<String> btnLabels=new ArrayList<String>();
        btnLabels.add(translate("String_Node_Str"));
        btnLabels.add(translate("String_Node_Str"));
        btnLabels.add(translate("String_Node_Str"));
        if (dbcSequence != null)         dbcSequence.dispose();
        dbcSequence=DialogBoxUIFactory.createGenericDialog(ureq,getWindowControl(),translate("String_Node_Str"),translate("String_Node_Str"),btnLabels);
        dbcSequence.addControllerListener(this);
        dbcSequence.setUserObject(guiEvent);
        dbcSequence.activate();
        return;
      }
      KalendarRenderWrapper kalendarWrapper=guiEvent.getKalendarRenderWrapper();
      pushEditEventController(ureq,kalendarEvent,kalendarWrapper);
    }
 else     if (event instanceof KalendarGUIAddEvent) {
      pushAddEventController((KalendarGUIAddEvent)event,ureq);
    }
 else     if (event instanceof KalendarGUISelectEvent) {
      KalendarGUISelectEvent selectEvent=(KalendarGUISelectEvent)event;
      if (selectEvent.getKalendarEvent() != null) {
        doOpenEventCallout(ureq,selectEvent.getKalendarEvent(),selectEvent.getKalendarRenderWrapper(),selectEvent.getTargetDomId());
      }
    }
 else     if (event instanceof KalendarGUIMoveEvent) {
      KalendarGUIMoveEvent moveEvent=(KalendarGUIMoveEvent)event;
      doMove(moveEvent.getKalendarEvent(),moveEvent.getDayDelta(),moveEvent.getMinuteDelta(),moveEvent.getAllDay());
    }
  }
 else   if (source == subscribeButton || source == unsubscribeButton) {
    removeAsListenerAndDispose(subscriptionController);
    if (calendarSubscription.isSubscribed() == (source == unsubscribeButton)) {
      subscriptionController=calendarSubscription.triggerSubscribeAction();
    }
    if (subscriptionController != null) {
      listenTo(subscriptionController);
      flc.put("String_Node_Str",subscriptionController.getInitialComponent());
    }
 else {
      flc.contextPut("String_Node_Str",new Boolean(calendarSubscription.isSubscribed()));
      CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(new KalendarModifiedEvent(),OresHelper.lookupType(CalendarManager.class));
    }
  }
 else   if (event instanceof KalendarGUIPrintEvent) {
    KalendarGUIPrintEvent printEvent=(KalendarGUIPrintEvent)event;
    if (printEvent.getFrom() != null && printEvent.getTo() != null) {
      doPrint(printEvent.getFrom(),printEvent.getTo());
    }
 else     if (printEvent.getTargetDomId() != null) {
      doPrintEventCallout(ureq,printEvent.getTargetDomId());
    }
  }
  super.formInnerEvent(ureq,source,event);
}