Create (if necessary) and return a per-web-application instance of the appropriate implementation class for the
specified JavaServer Faces factory class, based on the discovery algorithm described in the class description.

This method indicates if a component is visitable
according to the hints passed by the VisitContext parameter!
This method internally is used by visitTree and if it returns false
it short circuits the visitTree execution.

Convenience method to reset this component's value to an uninitialized state, by resetting the local value and
submitted values to null (ensuring that EditableValueHolder.isLocalValueSet() is false), and setting "valid" to true.

Invoked after the render phase has completed, this method returns an object which can be passed to the
restoreState of some other instance of UIComponentBase to reset that object's state to the same values as this
object currently has.

Take any appropriate action to either immediately write out the current state information
(by calling StateManager.writeState(javax.faces.context.FacesContext, java.lang.Object),
or noting where state information should later be written.