@Override
public <PK extends Serializable, T extends TimeableAttrRow<PK>, U extends EntityWithConfigurableAttr & EntityWithTimeableAttr<PK, T> & EntityWithAttributes> void createAttrPanels(
final TabPanel tabPanel, final U entity, final AbstractEditPage<?, ?, ?> parentPage,
final Function<AttrGroup, T> addNewEntryFunction)
{
final AttrSchema attrSchema = getAttrSchema(entity.getAttrSchemaName());
if (attrSchema == null) {
return;
}
for (AttrGroup group : attrSchema.getGroups()) {
final GridBuilder tabContainer = tabPanel.getOrCreateTab(group.getI18nKeySubmenu());
final DivPanel divPanel = tabContainer.getPanel();
if (!divPanel.hasChilds()) {
addHtmlClass(divPanel);
}
createAttrPanel(divPanel, entity, parentPage, addNewEntryFunction, group);
}
}