final AbstractLink link = createLinkWrapper();
final String title = determineTitle();
final String iconName = adapter.getIconName();
final CssClassFaFacet cssClassFaFacet = adapter.getSpecification().getFacet(CssClassFaFacet.class);
if (iconName != null || cssClassFaFacet == null) {
link.addOrReplace(this.image = newImage(ID_ENTITY_ICON, adapter));
Components.permanentlyHide(link, ID_ENTITY_FONT_AWESOME);
} else {
Label dummy = new Label(ID_ENTITY_FONT_AWESOME, "");
link.addOrReplace(dummy);
dummy.add(new CssClassAppender(cssClassFaFacet.value() + " fa-2x"));
Components.permanentlyHide(link, ID_ENTITY_ICON);
}
link.addOrReplace(this.label = newLabel(ID_ENTITY_TITLE, titleAbbreviated(title)));