diff --git a/src/main/java/net/bootsfaces/component/SelectItemUtils.java b/src/main/java/net/bootsfaces/component/SelectItemUtils.java index 54c566059..53c55f649 100644 --- a/src/main/java/net/bootsfaces/component/SelectItemUtils.java +++ b/src/main/java/net/bootsfaces/component/SelectItemUtils.java @@ -93,13 +93,16 @@ public static List collectOptions(FacesContext context, } private static SelectItem toSelectItem(UISelectItem option) { - SelectItem item = new SelectItem(); - item.setDescription(option.getItemDescription()); - item.setDisabled(option.isItemDisabled()); - item.setEscape(option.isItemEscaped()); - item.setLabel(option.getItemLabel()); - item.setNoSelectionOption(option.isNoSelectionOption()); - item.setValue(option.getItemValue()); + SelectItem item = (SelectItem) option.getValue(); + if (item == null) { + item = new SelectItem(); + item.setDescription(option.getItemDescription()); + item.setDisabled(option.isItemDisabled()); + item.setEscape(option.isItemEscaped()); + item.setLabel(option.getItemLabel()); + item.setNoSelectionOption(option.isNoSelectionOption()); + item.setValue(option.getItemValue()); + } return item; }