Program: 69562
Project: 69562
Buggy source:
/** 
 * @param ureq
 * @param wControl
 * @param stNode
 * @param courseFolderPath
 * @param groupMgr
 * @param editorModel
 */
public STCourseNodeEditController(UserRequest ureq,WindowControl wControl,STCourseNode stNode,VFSContainer courseFolderContainer,CourseGroupManager groupMgr,CourseEditorTreeModel editorModel,UserCourseEnvironment euce){
  super(ureq,wControl);
  this.stNode=stNode;
  this.courseFolderContainer=courseFolderContainer;
  this.euce=euce;
  this.editorModel=editorModel;
  Translator fallback=Util.createPackageTranslator(Condition.class,getLocale());
  Translator newTranslator=Util.createPackageTranslator(STCourseNodeEditController.class,getLocale(),fallback);
  setTranslator(newTranslator);
  score=createVelocityContainer("String_Node_Str");
  activateEasyModeButton=LinkFactory.createButtonSmall("String_Node_Str",score,this);
  activateExpertModeButton=LinkFactory.createButtonSmall("String_Node_Str",score,this);
  configvc=createVelocityContainer("String_Node_Str");
  chosenFile=(String)stNode.getModuleConfiguration().get(CONFIG_KEY_FILE);
  editorEnabled=(CONFIG_VALUE_DISPLAY_FILE.equals(stNode.getModuleConfiguration().getStringValue(CONFIG_KEY_DISPLAY_TYPE)));
  allowRelativeLinks=stNode.getModuleConfiguration().getBooleanSafe(CONFIG_KEY_ALLOW_RELATIVE_LINKS);
  deliveryOptions=(DeliveryOptions)stNode.getModuleConfiguration().get(CONFIG_KEY_DELIVERYOPTIONS);
  nodeDisplayConfigFormController=new STCourseNodeDisplayConfigFormController(ureq,wControl,stNode.getModuleConfiguration(),editorModel.getCourseEditorNodeById(stNode.getIdent()));
  listenTo(nodeDisplayConfigFormController);
  configvc.put("String_Node_Str",nodeDisplayConfigFormController.getInitialComponent());
  if (editorEnabled) {
    configvc.contextPut("String_Node_Str",Boolean.valueOf(editorEnabled));
    addStartEditorToView(ureq);
  }
  deliveryOptionsCtrl=new DeliveryOptionsConfigurationController(ureq,getWindowControl(),deliveryOptions);
  listenTo(deliveryOptionsCtrl);
  assessableChildren=AssessmentHelper.getAssessableNodes(editorModel,stNode);
  Condition accessCondition=stNode.getPreConditionAccess();
  accessibilityCondContr=new ConditionEditController(ureq,getWindowControl(),accessCondition,assessableChildren,euce,true);
  listenTo(accessibilityCondContr);
  ScoreCalculator scoreCalc=stNode.getScoreCalculator();
  if (scoreCalc != null) {
    if (scoreCalc.isExpertMode() && scoreCalc.getPassedExpression() == null && scoreCalc.getScoreExpression() == null) {
      scoreCalc=null;
    }
 else     if (!scoreCalc.isExpertMode() && scoreCalc.getPassedExpressionFromEasyModeConfiguration() == null && scoreCalc.getScoreExpressionFromEasyModeConfiguration() == null) {
      scoreCalc=null;
    }
  }
  if (assessableChildren.size() == 0 && scoreCalc == null) {
    score.contextPut("String_Node_Str",Boolean.TRUE);
  }
 else {
    score.contextPut("String_Node_Str",Boolean.FALSE);
  }
  if (scoreCalc != null && scoreCalc.isExpertMode()) {
    initScoreExpertForm(ureq);
  }
 else {
    initScoreEasyForm(ureq);
  }
}

Fixed version (ground truth):
/** 
 * @param ureq
 * @param wControl
 * @param stNode
 * @param courseFolderPath
 * @param groupMgr
 * @param editorModel
 */
public STCourseNodeEditController(UserRequest ureq,WindowControl wControl,STCourseNode stNode,VFSContainer courseFolderContainer,CourseEditorTreeModel editorModel,UserCourseEnvironment euce){
  super(ureq,wControl);
  this.stNode=stNode;
  this.courseFolderContainer=courseFolderContainer;
  this.euce=euce;
  this.editorModel=editorModel;
  Translator fallback=Util.createPackageTranslator(Condition.class,getLocale());
  Translator newTranslator=Util.createPackageTranslator(STCourseNodeEditController.class,getLocale(),fallback);
  setTranslator(newTranslator);
  score=createVelocityContainer("String_Node_Str");
  activateEasyModeButton=LinkFactory.createButtonSmall("String_Node_Str",score,this);
  activateExpertModeButton=LinkFactory.createButtonSmall("String_Node_Str",score,this);
  configvc=createVelocityContainer("String_Node_Str");
  chosenFile=(String)stNode.getModuleConfiguration().get(CONFIG_KEY_FILE);
  editorEnabled=(CONFIG_VALUE_DISPLAY_FILE.equals(stNode.getModuleConfiguration().getStringValue(CONFIG_KEY_DISPLAY_TYPE)));
  allowRelativeLinks=stNode.getModuleConfiguration().getBooleanSafe(CONFIG_KEY_ALLOW_RELATIVE_LINKS);
  deliveryOptions=(DeliveryOptions)stNode.getModuleConfiguration().get(CONFIG_KEY_DELIVERYOPTIONS);
  nodeDisplayConfigFormController=new STCourseNodeDisplayConfigFormController(ureq,wControl,stNode.getModuleConfiguration(),editorModel.getCourseEditorNodeById(stNode.getIdent()));
  listenTo(nodeDisplayConfigFormController);
  configvc.put("String_Node_Str",nodeDisplayConfigFormController.getInitialComponent());
  if (editorEnabled) {
    configvc.contextPut("String_Node_Str",Boolean.valueOf(editorEnabled));
    addStartEditorToView(ureq);
  }
  deliveryOptionsCtrl=new DeliveryOptionsConfigurationController(ureq,getWindowControl(),deliveryOptions);
  listenTo(deliveryOptionsCtrl);
  assessableChildren=AssessmentHelper.getAssessableNodes(editorModel,stNode);
  Condition accessCondition=stNode.getPreConditionAccess();
  accessibilityCondContr=new ConditionEditController(ureq,getWindowControl(),accessCondition,assessableChildren,euce,true);
  listenTo(accessibilityCondContr);
  ScoreCalculator scoreCalc=stNode.getScoreCalculator();
  if (scoreCalc != null) {
    if (scoreCalc.isExpertMode() && scoreCalc.getPassedExpression() == null && scoreCalc.getScoreExpression() == null) {
      scoreCalc=null;
    }
 else     if (!scoreCalc.isExpertMode() && scoreCalc.getPassedExpressionFromEasyModeConfiguration() == null && scoreCalc.getScoreExpressionFromEasyModeConfiguration() == null) {
      scoreCalc=null;
    }
  }
  if (assessableChildren.size() == 0 && scoreCalc == null) {
    score.contextPut("String_Node_Str",Boolean.TRUE);
  }
 else {
    score.contextPut("String_Node_Str",Boolean.FALSE);
  }
  if (scoreCalc != null && scoreCalc.isExpertMode()) {
    initScoreExpertForm(ureq);
  }
 else {
    initScoreEasyForm(ureq);
  }
}