Program: 69800
Project: 69800
Buggy source:
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  if (formLayout instanceof FormLayoutContainer) {
    FormLayoutContainer layoutCont=(FormLayoutContainer)formLayout;
    backLink=uifactory.addFormLink("String_Node_Str",formLayout);
    searchPanel=new Panel("String_Node_Str");
    layoutCont.put("String_Node_Str",searchPanel);
    Roles roles=ureq.getUserSession().getRoles();
    isAdministrativeUser=securityModule.isUserAllowedAdminProps(roles);
    searchform=new UserSearchForm(ureq,getWindowControl(),isAdministrativeUser,false,mainForm);
    listenTo(searchform);
    searchPanel.setContent(searchform.getInitialComponent());
    layoutCont.add(searchform.getInitialFormItem());
    layoutCont.contextPut("String_Node_Str","String_Node_Str");
    layoutCont.contextPut("String_Node_Str","String_Node_Str");
    boolean autoCompleteAllowed=securityModule.isUserAllowedAutoComplete(roles);
    boolean ajax=Windows.getWindows(ureq).getWindowManager().isAjaxEnabled();
    if (ajax && autoCompleteAllowed) {
      ListProvider provider=new UserSearchListProvider();
      autocompleterC=new FlexiAutoCompleterController(ureq,getWindowControl(),provider,null,isAdministrativeUser,60,3,null,mainForm);
      listenTo(autocompleterC);
      layoutCont.put("String_Node_Str",autocompleterC.getInitialComponent());
    }
    tableVC=createVelocityContainer("String_Node_Str");
    FlexiTableColumnModel tableColumnModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
    int colPos=0;
    tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    if (isAdministrativeUser) {
      tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    }
    List<UserPropertyHandler> userPropertyHandlers=userManager.getUserPropertyHandlersFor(usageIdentifyer,isAdministrativeUser);
    List<UserPropertyHandler> resultingPropertyHandlers=new ArrayList<UserPropertyHandler>();
    for (int i=0; i < userPropertyHandlers.size(); i++) {
      UserPropertyHandler userPropertyHandler=userPropertyHandlers.get(i);
      boolean visible=UserManager.getInstance().isMandatoryUserProperty(usageIdentifyer,userPropertyHandler);
      if (visible) {
        resultingPropertyHandlers.add(userPropertyHandler);
        tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(userPropertyHandler.i18nColumnDescriptorLabelKey(),colPos++));
      }
    }
    tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    Translator myTrans=userManager.getPropertyHandlerTranslator(getTranslator());
    userTableModel=new UserSearchFlexiTableModel(Collections.<UserResultWrapper>emptyList(),resultingPropertyHandlers,isAdministrativeUser,getLocale(),tableColumnModel);
    tableEl=uifactory.addTableElement(ureq,"String_Node_Str",userTableModel,myTrans,formLayout);
    selectAll=uifactory.addFormLink("String_Node_Str",formLayout);
    deselectAll=uifactory.addFormLink("String_Node_Str",formLayout);
    tableVC.put("String_Node_Str",tableEl.getComponent());
    tableVC.put("String_Node_Str",selectAll.getComponent());
    tableVC.put("String_Node_Str",deselectAll.getComponent());
  }
}

Fixed version (ground truth):
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  if (formLayout instanceof FormLayoutContainer) {
    FormLayoutContainer layoutCont=(FormLayoutContainer)formLayout;
    backLink=uifactory.addFormLink("String_Node_Str",formLayout);
    searchPanel=new Panel("String_Node_Str");
    layoutCont.put("String_Node_Str",searchPanel);
    Roles roles=ureq.getUserSession().getRoles();
    isAdministrativeUser=securityModule.isUserAllowedAdminProps(roles);
    searchform=new UserSearchForm(ureq,getWindowControl(),isAdministrativeUser,false,mainForm);
    listenTo(searchform);
    searchPanel.setContent(searchform.getInitialComponent());
    layoutCont.add(searchform.getInitialFormItem());
    layoutCont.contextPut("String_Node_Str","String_Node_Str");
    layoutCont.contextPut("String_Node_Str","String_Node_Str");
    boolean autoCompleteAllowed=securityModule.isUserAllowedAutoComplete(roles);
    boolean ajax=Windows.getWindows(ureq).getWindowManager().isAjaxEnabled();
    if (ajax && autoCompleteAllowed) {
      ListProvider provider=new UserSearchListProvider();
      autocompleterC=new FlexiAutoCompleterController(ureq,getWindowControl(),provider,null,isAdministrativeUser,60,3,null,mainForm);
      listenTo(autocompleterC);
      layoutCont.put("String_Node_Str",autocompleterC.getInitialComponent());
    }
    tableVC=createVelocityContainer("String_Node_Str");
    FlexiTableColumnModel tableColumnModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
    int colPos=0;
    tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    if (isAdministrativeUser) {
      tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    }
    List<UserPropertyHandler> userPropertyHandlers=userManager.getUserPropertyHandlersFor(usageIdentifyer,isAdministrativeUser);
    List<UserPropertyHandler> resultingPropertyHandlers=new ArrayList<UserPropertyHandler>();
    for (int i=0; i < userPropertyHandlers.size(); i++) {
      UserPropertyHandler userPropertyHandler=userPropertyHandlers.get(i);
      boolean visible=UserManager.getInstance().isMandatoryUserProperty(usageIdentifyer,userPropertyHandler);
      if (visible) {
        resultingPropertyHandlers.add(userPropertyHandler);
        tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(userPropertyHandler.i18nColumnDescriptorLabelKey(),colPos++));
      }
    }
    tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("String_Node_Str",colPos++));
    Translator myTrans=userManager.getPropertyHandlerTranslator(getTranslator());
    userTableModel=new UserSearchFlexiTableModel(Collections.<UserResultWrapper>emptyList(),resultingPropertyHandlers,isAdministrativeUser,getLocale(),tableColumnModel);
    tableEl=uifactory.addTableElement(ureq,getWindowControl(),"String_Node_Str",userTableModel,myTrans,formLayout);
    selectAll=uifactory.addFormLink("String_Node_Str",formLayout);
    deselectAll=uifactory.addFormLink("String_Node_Str",formLayout);
    tableVC.put("String_Node_Str",tableEl.getComponent());
    tableVC.put("String_Node_Str",selectAll.getComponent());
    tableVC.put("String_Node_Str",deselectAll.getComponent());
  }
}