code: public static void decodeUIInput(FacesContext facesContext, UIComponent component)
      {
          if (!(component instanceof EditableValueHolder))
          {
              throw new IllegalArgumentException("Component "
                      + component.getClientId(facesContext)
                      + " is not an EditableValueHolder");
          }
          Map paramMap = facesContext.getExternalContext()
                  .getRequestParameterMap();
          String clientId = component.getClientId(facesContext);
          if (isDisabledOrReadOnly(component))
          {
              return;
          }
          if (paramMap.containsKey(clientId))
          {
              ((EditableValueHolder) component).setSubmittedValue(paramMap
                      .get(clientId));
          }
          else
          {
              log.warning(NON_SUBMITTED_VALUE_WARNING + " Component : "
                      + RendererUtils.getPathToComponent(component));
          }
      }
docs: Utility to set the submitted value of the provided component from the
  data in the current request object.
  <p/>
  Param component is required to be an EditableValueHolder. On return
  from this method, the component's submittedValue property will be
  set if the submitted form contained that component.