Program: 69370
Project: 69370
Buggy source:
@Override public void event(UserRequest ureq,Controller source,Event event){
  if (pageCtrl == source) {
    if (event == Event.CHANGED_EVENT) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
 else     if (event instanceof PageRemovedEvent || event instanceof PageDeletedEvent) {
      loadModel(ureq,null);
      stackPanel.popUpToController(this);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
  }
 else   if (commentsCtrl == source) {
    if (event == Event.CHANGED_EVENT || "String_Node_Str".equals(event.getCommand())) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
    cmc.deactivate();
    cleanUp();
  }
 else   if (editAssignmentCtrl == source || moveAssignmentCtrl == source) {
    if (event == Event.CHANGED_EVENT || event == Event.DONE_EVENT) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
    cmc.deactivate();
    cleanUp();
  }
 else   if (confirmCloseSectionCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmCloseSectionCtrl.getUserObject();
      doClose(ureq,row);
    }
  }
 else   if (confirmReopenSectionCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmReopenSectionCtrl.getUserObject();
      doReopen(ureq,row);
    }
  }
 else   if (confirmDeleteAssignmentCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmDeleteAssignmentCtrl.getUserObject();
      doDelete(row);
      loadModel(ureq,null);
    }
  }
 else   if (cmc == source) {
    cleanUp();
  }
  super.event(ureq,source,event);
}

Fixed version (ground truth):
@Override public void event(UserRequest ureq,Controller source,Event event){
  if (pageCtrl == source) {
    if (event == Event.CHANGED_EVENT) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
 else     if (event instanceof PageRemovedEvent) {
      loadModel(ureq,null);
      stackPanel.popUpToController(this);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
 else     if (event instanceof PageDeletedEvent) {
      loadModel(ureq,null);
      fireEvent(ureq,event);
    }
  }
 else   if (commentsCtrl == source) {
    if (event == Event.CHANGED_EVENT || "String_Node_Str".equals(event.getCommand())) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
    cmc.deactivate();
    cleanUp();
  }
 else   if (editAssignmentCtrl == source || moveAssignmentCtrl == source) {
    if (event == Event.CHANGED_EVENT || event == Event.DONE_EVENT) {
      loadModel(ureq,null);
      fireEvent(ureq,Event.CHANGED_EVENT);
    }
    cmc.deactivate();
    cleanUp();
  }
 else   if (confirmCloseSectionCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmCloseSectionCtrl.getUserObject();
      doClose(ureq,row);
    }
  }
 else   if (confirmReopenSectionCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmReopenSectionCtrl.getUserObject();
      doReopen(ureq,row);
    }
  }
 else   if (confirmDeleteAssignmentCtrl == source) {
    if (DialogBoxUIFactory.isYesEvent(event)) {
      PortfolioElementRow row=(PortfolioElementRow)confirmDeleteAssignmentCtrl.getUserObject();
      doDelete(row);
      loadModel(ureq,null);
    }
  }
 else   if (cmc == source) {
    cleanUp();
  }
  super.event(ureq,source,event);
}