Program: 60441
Project: 60441
Buggy source:
public DisplayAttributesModalPanel(final BaseModal<T> modal,final PageReference pageRef,final List<String> pSchemaNames,final List<String> dSchemaNames,final String type){
  super(modal,pageRef);
  this.type=type;
  final List<String> detailslList=SearchableFields.get(getTOClass());
  Collections.sort(detailslList);
  Collections.sort(pSchemaNames);
  Collections.sort(dSchemaNames);
  final IModel<List<String>> fnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return detailslList;
    }
  }
;
  final IModel<List<String>> psnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return pSchemaNames;
    }
  }
;
  final IModel<List<String>> dsnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return dSchemaNames;
    }
  }
;
  selectedDetails=prefMan.getList(getRequest(),getPrefDetailView());
  selectedPlainSchemas=prefMan.getList(getRequest(),getPrefPlainAttributeView());
  selectedDerSchemas=prefMan.getList(getRequest(),getPrefDerivedAttributeView());
  final WebMarkupContainer container=new WebMarkupContainer("String_Node_Str");
  container.setOutputMarkupId(true);
  add(container);
  AjaxPalettePanel<String> details=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(fnames.getObject()));
  details.hideLabel();
  details.setOutputMarkupId(true);
  container.add(details);
  AjaxPalettePanel<String> plainSchemas=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(psnames.getObject()));
  plainSchemas.hideLabel();
  plainSchemas.setOutputMarkupId(true);
  container.add(plainSchemas);
  AjaxPalettePanel<String> derSchemas=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(dsnames.getObject()));
  derSchemas.hideLabel();
  derSchemas.setOutputMarkupId(true);
  container.add(derSchemas);
}

Fixed version (ground truth):
public DisplayAttributesModalPanel(final BaseModal<T> modal,final PageReference pageRef,final List<String> pSchemaNames,final List<String> dSchemaNames,final String type){
  super(modal,pageRef);
  this.type=type;
  final List<String> detailslList=SearchableFields.get(DisplayAttributesModalPanel.getTOClass(type));
  Collections.sort(detailslList);
  Collections.sort(pSchemaNames);
  Collections.sort(dSchemaNames);
  final IModel<List<String>> fnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return detailslList;
    }
  }
;
  final IModel<List<String>> psnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return pSchemaNames;
    }
  }
;
  final IModel<List<String>> dsnames=new LoadableDetachableModel<List<String>>(){
    private static final long serialVersionUID=5275935387613157437L;
    @Override protected List<String> load(){
      return dSchemaNames;
    }
  }
;
  selectedDetails=prefMan.getList(getRequest(),DisplayAttributesModalPanel.getPrefDetailView(type));
  selectedPlainSchemas=prefMan.getList(getRequest(),DisplayAttributesModalPanel.getPrefPlainAttributeView(type));
  selectedDerSchemas=prefMan.getList(getRequest(),DisplayAttributesModalPanel.getPrefDerivedAttributeView(type));
  final WebMarkupContainer container=new WebMarkupContainer("String_Node_Str");
  container.setOutputMarkupId(true);
  add(container);
  AjaxPalettePanel<String> details=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(fnames.getObject()));
  details.hideLabel();
  details.setOutputMarkupId(true);
  container.add(details);
  AjaxPalettePanel<String> plainSchemas=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(psnames.getObject()));
  plainSchemas.hideLabel();
  plainSchemas.setOutputMarkupId(true);
  container.add(plainSchemas);
  AjaxPalettePanel<String> derSchemas=new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setAllowMoveAll(true).build("String_Node_Str",new PropertyModel<List<String>>(this,"String_Node_Str"),new ListModel<>(dsnames.getObject()));
  derSchemas.hideLabel();
  derSchemas.setOutputMarkupId(true);
  container.add(derSchemas);
}