Как создать и использовать универсальный компонент для перечислений в f: selectItems?

У меня есть общий класс с этой подписью:

public abstract class EnumListBean<E extends Enum<E>> {

    public List<E> getEnumList() {
        //implementation details
    }

}

В настоящее время я должен определить пустой подкласс для доступа к свойству enumList для конкретного универсального параметра:

@ManagedBean
@ApplicationScoped
public class ItemRarityBean  extends EnumListBean<Item.Rarity>{
}

Это позволяет получить доступ к свойству, например:

<f:selectItems value="#{itemRarityBean.enumList}" var="rarity"
            itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />

Мне интересно, действительно ли нужно объявлять производный бин, но не могу получить доступ к универсальному классу как к бину напрямую:

<f:selectItems value="#{enumListBean<Item.Rarity>.enumList}" var="rarity"
                itemLabel="#{rarity.readableName}" itemValue="#{rarity}" />

Ответы на вопрос(2)

Ваш ответ на вопрос