@Override protected void initialize() { add(CssClass.append(new AbstractReadOnlyModel<String>() { @Override public String getObject() { return StdWorkflow.this.isEnabled() ? "icon-enabled" : "icon-disabled"; } })); Component icon = getIcon(ICON_ID); if (icon == null) { if (getIcon() != null) { // Legacy custom override icon = HippoIcon.fromResourceModel(ICON_ID, new LoadableDetachableModel<ResourceReference>() { @Override protected ResourceReference load() { return getIcon(); } }); } else { icon = HippoIcon.fromSprite(ICON_ID, Icon.GEAR); } } add(icon); } });