Program: 69639
Project: 69639
Buggy source:
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  searchCtrl=new AuthorSearchController(ureq,getWindowControl(),true,!startExtendedSearch,mainForm);
  searchCtrl.setEnabled(false);
  listenTo(searchCtrl);
  FlexiTableColumnModel columnsModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.key.i18nKey(),Cols.key.ordinal(),true,OrderBy.key.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.mark.i18nKey(),Cols.mark.ordinal(),true,OrderBy.favorit.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.type.i18nKey(),Cols.type.ordinal(),true,OrderBy.type.name(),FlexiColumnModel.ALIGNMENT_LEFT,new TypeRenderer()));
  FlexiCellRenderer renderer=new StaticFlexiCellRenderer("String_Node_Str",new TextFlexiCellRenderer());
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel(Cols.displayName.i18nKey(),Cols.displayName.ordinal(),"String_Node_Str",true,OrderBy.displayname.name(),renderer));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.authors.i18nKey(),Cols.authors.ordinal(),true,OrderBy.authors.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lifecycleLabel.i18nKey(),Cols.lifecycleLabel.ordinal(),true,OrderBy.lifecycleLabel.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lifecycleSoftkey.i18nKey(),Cols.lifecycleSoftkey.ordinal(),true,OrderBy.lifecycleSoftkey.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.lifecycleStart.i18nKey(),Cols.lifecycleStart.ordinal(),true,OrderBy.lifecycleStart.name(),FlexiColumnModel.ALIGNMENT_LEFT,new DateFlexiCellRenderer(getLocale())));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.lifecycleEnd.i18nKey(),Cols.lifecycleEnd.ordinal(),true,OrderBy.lifecycleEnd.name(),FlexiColumnModel.ALIGNMENT_LEFT,new DateFlexiCellRenderer(getLocale())));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.author.i18nKey(),Cols.author.ordinal(),true,OrderBy.author.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.access.i18nKey(),Cols.access.ordinal(),true,OrderBy.ac.name(),FlexiColumnModel.ALIGNMENT_LEFT,new AccessRenderer()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.ac.i18nKey(),Cols.ac.ordinal(),true,OrderBy.ac.name(),FlexiColumnModel.ALIGNMENT_LEFT,new ACRenderer()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.creationDate.i18nKey(),Cols.creationDate.ordinal(),true,OrderBy.creationDate.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lastUsage.i18nKey(),Cols.lastUsage.ordinal(),true,OrderBy.lastUsage.name()));
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("String_Node_Str",-1,"String_Node_Str",new StaticFlexiCellRenderer("String_Node_Str","String_Node_Str","String_Node_Str")));
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("String_Node_Str",-1,"String_Node_Str",new StaticFlexiCellRenderer("String_Node_Str","String_Node_Str","String_Node_Str")));
  model=new AuthoringEntryDataModel(dataSource,columnsModel);
  tableEl=uifactory.addTableElement(ureq,getWindowControl(),"String_Node_Str",model,20,!startExtendedSearch,getTranslator(),formLayout);
  tableEl.setSearchEnabled(true);
  tableEl.setExportEnabled(true);
  tableEl.setExtendedSearch(searchCtrl);
  tableEl.setCustomizeColumns(true);
  tableEl.setElementCssClass("String_Node_Str");
  tableEl.setMultiSelect(true);
  tableEl.setSortSettings(new FlexiTableSortOptions(true));
  tableEl.setAndLoadPersistedPreferences(ureq,"String_Node_Str" + i18nName);
  if (startExtendedSearch) {
    tableEl.expandExtendedSearch(ureq);
  }
 else {
    tableEl.setFilters(null,getFilters());
  }
  addOwnersButton=uifactory.addFormLink("String_Node_Str",formLayout,Link.BUTTON);
}

Fixed version (ground truth):
@Override protected void initForm(FormItemContainer formLayout,Controller listener,UserRequest ureq){
  searchCtrl=new AuthorSearchController(ureq,getWindowControl(),true,!startExtendedSearch,mainForm);
  searchCtrl.setEnabled(false);
  listenTo(searchCtrl);
  FlexiTableColumnModel columnsModel=FlexiTableDataModelFactory.createFlexiTableColumnModel();
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.key.i18nKey(),Cols.key.ordinal(),true,OrderBy.key.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.mark.i18nKey(),Cols.mark.ordinal(),true,OrderBy.favorit.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.type.i18nKey(),Cols.type.ordinal(),true,OrderBy.type.name(),FlexiColumnModel.ALIGNMENT_LEFT,new TypeRenderer()));
  FlexiCellRenderer renderer=new StaticFlexiCellRenderer("String_Node_Str",new TextFlexiCellRenderer());
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel(Cols.displayName.i18nKey(),Cols.displayName.ordinal(),"String_Node_Str",true,OrderBy.displayname.name(),renderer));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.authors.i18nKey(),Cols.authors.ordinal(),true,OrderBy.authors.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lifecycleLabel.i18nKey(),Cols.lifecycleLabel.ordinal(),true,OrderBy.lifecycleLabel.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lifecycleSoftkey.i18nKey(),Cols.lifecycleSoftkey.ordinal(),true,OrderBy.lifecycleSoftkey.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.lifecycleStart.i18nKey(),Cols.lifecycleStart.ordinal(),true,OrderBy.lifecycleStart.name(),FlexiColumnModel.ALIGNMENT_LEFT,new DateFlexiCellRenderer(getLocale())));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.lifecycleEnd.i18nKey(),Cols.lifecycleEnd.ordinal(),true,OrderBy.lifecycleEnd.name(),FlexiColumnModel.ALIGNMENT_LEFT,new DateFlexiCellRenderer(getLocale())));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.author.i18nKey(),Cols.author.ordinal(),true,OrderBy.author.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.access.i18nKey(),Cols.access.ordinal(),true,OrderBy.ac.name(),FlexiColumnModel.ALIGNMENT_LEFT,new AccessRenderer()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true,Cols.ac.i18nKey(),Cols.ac.ordinal(),true,OrderBy.ac.name(),FlexiColumnModel.ALIGNMENT_LEFT,new ACRenderer()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.creationDate.i18nKey(),Cols.creationDate.ordinal(),true,OrderBy.creationDate.name()));
  columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false,Cols.lastUsage.i18nKey(),Cols.lastUsage.ordinal(),true,OrderBy.lastUsage.name()));
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("String_Node_Str",-1,"String_Node_Str",new StaticFlexiCellRenderer("String_Node_Str","String_Node_Str","String_Node_Str")));
  columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("String_Node_Str",-1,"String_Node_Str",new StaticFlexiCellRenderer("String_Node_Str","String_Node_Str","String_Node_Str")));
  model=new AuthoringEntryDataModel(dataSource,columnsModel);
  tableEl=uifactory.addTableElement(ureq,getWindowControl(),"String_Node_Str",model,20,false,getTranslator(),formLayout);
  tableEl.setSearchEnabled(true);
  tableEl.setExportEnabled(true);
  tableEl.setExtendedSearch(searchCtrl);
  tableEl.setCustomizeColumns(true);
  tableEl.setElementCssClass("String_Node_Str");
  tableEl.setMultiSelect(true);
  tableEl.setSortSettings(new FlexiTableSortOptions(true,new SortKey(OrderBy.displayname.name(),true)));
  tableEl.setAndLoadPersistedPreferences(ureq,"String_Node_Str" + i18nName);
  if (!startExtendedSearch) {
    tableEl.sort(OrderBy.displayname.name(),true);
  }
  if (startExtendedSearch) {
    tableEl.expandExtendedSearch(ureq);
  }
 else {
    tableEl.setFilters(null,getFilters());
  }
  addOwnersButton=uifactory.addFormLink("String_Node_Str",formLayout,Link.BUTTON);
}