code: @Override
      public void setValue(Object value)
      {
          FacesContext facesContext = getFacesContext();
          if (facesContext != null && facesContext.isProjectStage(ProjectStage.Development))
          {
              // extended debug-info when in Development mode
              _createFieldDebugInfo(facesContext, "localValue",
                      getLocalValue(), value, 1);
          }
          setLocalValueSet(true);
          super.setValue(value);
      }
docs: Store the specified object as the "local value" of this component. The value-binding named "value" (if any) is
  ignored; the object is only stored locally on this component. During the "update model" phase, if there is a
  value-binding named "value" then this local value will be stored via that value-binding and the "local value"
  reset to null.