Program: 69653
Project: 69653
Buggy source:
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  setFormDescription("String_Node_Str");
  setFormContextHelp("String_Node_Str","String_Node_Str","String_Node_Str");
  FlexiTableColumnModel columnsModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
  if (isAdministrativeUser) {
    columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.username.i18nKey(),Cols.username.ordinal()));
  }
  int i=0;
  for (  UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
    int colIndex=CheckListAssessmentDataModel.USER_PROPS_OFFSET + i++;
    if (userPropertyHandler == null)     continue;
    String propName=userPropertyHandler.getName();
    boolean visible=userManager.isMandatoryUserProperty(CheckListAssessmentController.USER_PROPS_ID,userPropertyHandler);
    if (visible) {
      FlexiColumnModel col;
      if (UserConstants.FIRSTNAME.equals(propName) || UserConstants.LASTNAME.equals(propName)) {
        col=new StaticFlexiColumnModel(userPropertyHandler.i18nColumnDescriptorLabelKey(),colIndex,userPropertyHandler.getName(),true,propName,new StaticFlexiCellRenderer(userPropertyHandler.getName(),new TextFlexiCellRenderer()));
      }
 else {
        col=new DefaultFlexiColumnModel(true,userPropertyHandler.i18nColumnDescriptorLabelKey(),colIndex,true,propName);
      }
      columnsModel.addFlexiColumnModel(col);
    }
  }
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.check.i18nKey(),Cols.check.ordinal()));
  if (withScore) {
    columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.points.i18nKey(),Cols.points.ordinal()));
  }
  int numOfCheckbox=checkboxList.getList().size();
  String[] keys=new String[numOfCheckbox];
  String[] values=new String[numOfCheckbox];
  List<Checkbox> checkbox=checkboxList.getList();
  for (int j=0; j < numOfCheckbox; j++) {
    keys[j]=checkbox.get(j).getCheckboxId();
    values[j]=checkbox.get(j).getTitle();
  }
  FormLayoutContainer selectCont=FormLayoutContainer.createDefaultFormLayout("String_Node_Str",getTranslator());
  formLayout.add(selectCont);
  checkboxEl=uifactory.addDropdownSingleselect("String_Node_Str","String_Node_Str",selectCont,keys,values,null);
  checkboxEl.addActionListener(this,FormEvent.ONCHANGE);
  checkboxEl.select(keys[0],true);
  Checkbox box=checkboxList.getList().get(currentCheckboxIndex);
  boolean hasPoints=box.getPoints() != null && box.getPoints().floatValue() > 0f;
  boxRows=new ArrayList<CheckboxAssessmentRow>(initialRows.size());
  for (  CheckListAssessmentRow initialRow : initialRows) {
    Boolean[] checked=new Boolean[numOfCheckbox];
    if (initialRow.getChecked() != null) {
      System.arraycopy(initialRow.getChecked(),0,checked,0,initialRow.getChecked().length);
    }
    Float[] scores=new Float[numOfCheckbox];
    if (initialRow.getScores() != null) {
      System.arraycopy(initialRow.getScores(),0,scores,0,initialRow.getScores().length);
    }
    CheckboxAssessmentRow row=new CheckboxAssessmentRow(initialRow,checked,scores);
    String name="String_Node_Str" + boxRows.size() + "String_Node_Str";
    String pointVal="String_Node_Str";
    if (scores != null && scores.length > currentCheckboxIndex && scores[currentCheckboxIndex] != null) {
      pointVal=AssessmentHelper.getRoundedScore(scores[currentCheckboxIndex]);
    }
    TextElement pointEl=uifactory.addTextElement(name + "String_Node_Str",null,5,pointVal,formLayout);
    pointEl.setDisplaySize(5);
    MultipleSelectionElement checkEl=uifactory.addCheckboxesHorizontal(name + "String_Node_Str",formLayout,onKeys,onValues,null);
    if (checked != null && checked.length > currentCheckboxIndex && checked[currentCheckboxIndex] != null && checked[currentCheckboxIndex].booleanValue()) {
      checkEl.select(onKeys[0],true);
    }
    pointEl.setVisible(hasPoints);
    row.setCheckedEl(checkEl);
    row.setPointEl(pointEl);
    boxRows.add(row);
  }
  model=new CheckboxAssessmentDataModel(boxRows,columnsModel);
  table=uifactory.addTableElement(ureq,getWindowControl(),"String_Node_Str",model,getTranslator(),formLayout);
  table.setEditMode(true);
  FormLayoutContainer buttonsCont=FormLayoutContainer.createButtonLayout("String_Node_Str",getTranslator());
  formLayout.add(buttonsCont);
  uifactory.addFormSubmitButton("String_Node_Str",buttonsCont);
  selectAllBoxButton=uifactory.addFormLink("String_Node_Str",buttonsCont,Link.BUTTON);
  uifactory.addFormCancelButton("String_Node_Str",buttonsCont,ureq,getWindowControl());
}

Fixed version (ground truth):
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  setFormDescription("String_Node_Str");
  setFormContextHelp("String_Node_Str","String_Node_Str","String_Node_Str");
  FlexiTableColumnModel columnsModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
  if (isAdministrativeUser) {
    columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.username.i18nKey(),Cols.username.ordinal()));
  }
  int i=0;
  for (  UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
    int colIndex=CheckListAssessmentDataModel.USER_PROPS_OFFSET + i++;
    if (userPropertyHandler == null)     continue;
    String propName=userPropertyHandler.getName();
    boolean visible=userManager.isMandatoryUserProperty(CheckListAssessmentController.USER_PROPS_ID,userPropertyHandler);
    if (visible) {
      FlexiColumnModel col;
      if (UserConstants.FIRSTNAME.equals(propName) || UserConstants.LASTNAME.equals(propName)) {
        col=new StaticFlexiColumnModel(userPropertyHandler.i18nColumnDescriptorLabelKey(),colIndex,userPropertyHandler.getName(),true,propName,new StaticFlexiCellRenderer(userPropertyHandler.getName(),new TextFlexiCellRenderer()));
      }
 else {
        col=new DefaultFlexiColumnModel(true,userPropertyHandler.i18nColumnDescriptorLabelKey(),colIndex,true,propName);
      }
      columnsModel.addFlexiColumnModel(col);
    }
  }
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.check.i18nKey(),Cols.check.ordinal()));
  if (withScore) {
    columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.points.i18nKey(),Cols.points.ordinal()));
  }
  int numOfCheckbox=checkboxList.getList().size();
  String[] keys=new String[numOfCheckbox];
  String[] values=new String[numOfCheckbox];
  List<Checkbox> checkbox=checkboxList.getList();
  for (int j=0; j < numOfCheckbox; j++) {
    keys[j]=checkbox.get(j).getCheckboxId();
    values[j]=checkbox.get(j).getTitle();
  }
  FormLayoutContainer selectCont=FormLayoutContainer.createDefaultFormLayout("String_Node_Str",getTranslator());
  formLayout.add(selectCont);
  checkboxEl=uifactory.addDropdownSingleselect("String_Node_Str","String_Node_Str",selectCont,keys,values,null);
  checkboxEl.addActionListener(this,FormEvent.ONCHANGE);
  checkboxEl.select(keys[0],true);
  Checkbox box=checkboxList.getList().get(currentCheckboxIndex);
  boolean hasPoints=box.getPoints() != null && box.getPoints().floatValue() > 0f;
  boxRows=new ArrayList<CheckboxAssessmentRow>(initialRows.size());
  for (  CheckListAssessmentRow initialRow : initialRows) {
    Boolean[] checked=new Boolean[numOfCheckbox];
    if (initialRow.getChecked() != null) {
      System.arraycopy(initialRow.getChecked(),0,checked,0,initialRow.getChecked().length);
    }
    Float[] scores=new Float[numOfCheckbox];
    if (initialRow.getScores() != null) {
      System.arraycopy(initialRow.getScores(),0,scores,0,initialRow.getScores().length);
    }
    CheckboxAssessmentRow row=new CheckboxAssessmentRow(initialRow,checked,scores);
    String name="String_Node_Str" + boxRows.size() + "String_Node_Str";
    String pointVal="String_Node_Str";
    if (scores != null && scores.length > currentCheckboxIndex && scores[currentCheckboxIndex] != null) {
      pointVal=AssessmentHelper.getRoundedScore(scores[currentCheckboxIndex]);
    }
    TextElement pointEl=uifactory.addTextElement(name + "String_Node_Str",null,5,pointVal,formLayout);
    pointEl.setDisplaySize(5);
    MultipleSelectionElement checkEl=uifactory.addCheckboxesHorizontal(name + "String_Node_Str",formLayout,onKeys,onValues,null);
    checkEl.addActionListener(this,FormEvent.ONCHANGE);
    checkEl.setUserObject(row);
    if (checked != null && checked.length > currentCheckboxIndex && checked[currentCheckboxIndex] != null && checked[currentCheckboxIndex].booleanValue()) {
      checkEl.select(onKeys[0],true);
    }
    pointEl.setVisible(hasPoints);
    row.setCheckedEl(checkEl);
    row.setPointEl(pointEl);
    boxRows.add(row);
  }
  model=new CheckboxAssessmentDataModel(boxRows,columnsModel);
  table=uifactory.addTableElement(ureq,getWindowControl(),"String_Node_Str",model,getTranslator(),formLayout);
  table.setEditMode(true);
  FormLayoutContainer buttonsCont=FormLayoutContainer.createButtonLayout("String_Node_Str",getTranslator());
  formLayout.add(buttonsCont);
  uifactory.addFormSubmitButton("String_Node_Str",buttonsCont);
  selectAllBoxButton=uifactory.addFormLink("String_Node_Str",buttonsCont,Link.BUTTON);
  uifactory.addFormCancelButton("String_Node_Str",buttonsCont,ureq,getWindowControl());
}