code: @Override
     protected void addSelectItems(HtmlSelectOneMenu select, String valueExpression, Map<String, String> attributes)
     {
  
        // Empty option
        //
        // Note: a 'null' value (rather than an empty String') renders an <f:selectItem/> rather
        // than an <f:selectItem itemValue=""/>. This works out better if the HtmlSelectOneMenu has
        // a converter, because the empty String may not be a compatible value
  
        if (WidgetBuilderUtils.needsEmptyLookupItem(attributes))
        {
           addSelectItem(select, null, null);
        }
  
        // Add the select items
  
        SelectItems selectItems = new SelectItems();
        selectItems.putAttribute("value", valueExpression);
  
        // For each item to be displayed, set the label to the reverse primary key value
        if (attributes.containsKey(REVERSE_PRIMARY_KEY))
        {
           selectItems.putAttribute("var", SELECT_ITEM);
           selectItems.putAttribute("itemValue", StaticFacesUtils.wrapExpression(SELECT_ITEM));
           String displayExpression = "forgeview:display(_item)";
           ((BaseStaticXmlWidget) selectItems).putAdditionalNamespaceURI("forgeview", "http://jboss.org/forge/view");
           selectItems.putAttribute("itemLabel", StaticFacesUtils.wrapExpression(displayExpression));
        }
  
        select.getChildren().add(selectItems);
     }
docs: Overrriden to enhance the default f:selectItem widget with more suitable item labels