code: public static void decodeUISelectOne(FacesContext facesContext, UIComponent component)
      {
          if (!(component instanceof EditableValueHolder))
          {
              throw new IllegalArgumentException("Component "
                      + component.getClientId(facesContext)
                      + " is not an EditableValueHolder");
          }
          if (isDisabledOrReadOnly(component))
          {
              return;
          }
          Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
          String clientId = component.getClientId(facesContext);
          if (paramMap.containsKey(clientId))
          {
              //request parameter found, set submitted value
              ((EditableValueHolder) component).setSubmittedValue(paramMap.get(clientId));
          }
          else
          {
              //see reason for this action at decodeUISelectMany
              ((EditableValueHolder) component).setSubmittedValue(STR_EMPTY);
          }
      }
docs: X-CHECKED: tlddoc h:selectManyListbox
  
  @param facesContext
  @param component