protected SelectItem createSelectItem(FacesContext context, UISelectItems uiSelectItems, Object value,
			Object label) {
		String var = (String) uiSelectItems.getAttributes().get("var");
		Map<String, Object> attrs = uiSelectItems.getAttributes();
		Map<String, Object> requestMap = context.getExternalContext().getRequestMap();

		if (var != null) {
			requestMap.put(var, value);
		}

		Object itemLabelValue = attrs.get("itemLabel");
		Object itemValue = attrs.get("itemValue");
		String description = (String) attrs.get("itemDescription");
		Object itemDisabled = attrs.get("itemDisabled");
		Object itemEscaped = attrs.get("itemLabelEscaped");
		Object noSelection = attrs.get("noSelectionOption");

		if (itemValue == null) {
			itemValue = value;
		}

		if (itemLabelValue == null) {
			itemLabelValue = label;
		}

		String itemLabel = itemLabelValue == null ? String.valueOf(value) : String.valueOf(itemLabelValue);
		boolean disabled = itemDisabled == null ? false : Boolean.valueOf(itemDisabled.toString());
		boolean escaped = itemEscaped == null ? false : Boolean.valueOf(itemEscaped.toString());
		boolean noSelectionOption = noSelection == null ? false : Boolean.valueOf(noSelection.toString());

		if (var != null) {
			requestMap.remove(var);
		}

		return new SelectItem(itemValue, itemLabel, description, disabled, escaped, noSelectionOption);
	}
protected SelectItem createSelectItem ( FacesContext context , UISelectItems uiSelectItems , Object value , Object label ) { String var = ( String ) uiSelectItems . getAttributes ( ) . get ( "var" ) ; Map < String , Object > attrs = uiSelectItems . getAttributes ( ) ; Map < String , Object > requestMap = context . getExternalContext ( ) . getRequestMap ( ) ; if ( var != null ) { requestMap . put ( var , value ) ; } Object itemLabelValue = attrs . get ( "itemLabel" ) ; Object itemValue = attrs . get ( "itemValue" ) ; String description = ( String ) attrs . get ( "itemDescription" ) ; Object itemDisabled = attrs . get ( "itemDisabled" ) ; Object itemEscaped = attrs . get ( "itemLabelEscaped" ) ; Object noSelection = attrs . get ( "noSelectionOption" ) ; if ( itemValue == null ) { itemValue = value ; } if ( itemLabelValue == null ) { itemLabelValue = label ; } String itemLabel = itemLabelValue == null ? String . valueOf ( value ) : String . valueOf ( itemLabelValue ) ; boolean disabled = itemDisabled == null ? false : Boolean . valueOf ( itemDisabled . toString ( ) ) ; boolean escaped = itemEscaped == null ? false : Boolean . valueOf ( itemEscaped . toString ( ) ) ; boolean noSelectionOption = noSelection == null ? false : Boolean . valueOf ( noSelection . toString ( ) ) ; if ( var != null ) { requestMap . remove ( var ) ; } return new SelectItem ( itemValue , itemLabel , description , disabled , escaped , noSelectionOption ) ; }
Copied from the InputRenderer class of PrimeFaces 5.1.

@param context
@param uiSelectItems
@param value
@param label
@return