@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
BeanManager bm = getBeanManager();
Bean<UserBean> bean = (Bean<UserBean>) bm.getBeans(UserBean.class).iterator().next();
CreationalContext<UserBean> ctx = bm.createCreationalContext(bean);
UserBean userBean = (UserBean) bm.getReference(bean, UserBean.class, ctx); // this could be inlined, but intentionally left this way
for(Shelf s : userBean.getUser().getShelves()) {
if (s.getName().equals(value)) {