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.

processUpdates

This isn't an input component, so just pass on the processUpdates call to child components and facets that might
be input components.

Components that were never rendered can't possibly be receiving update data (no corresponding fields were ever
put into the response) so if this component is not rendered then this method does not invoke processUpdates on
its children.

saveState

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.

visitTree

The visit tree method, visit tree walks over a subtree and processes
the callback object to perform some operation on the subtree

there are some details in the implementation which according to the spec have
to be in place:
a) before calling the callback and traversing into the subtree pushComponentToEL
has to be called
b) after the processing popComponentFromEL has to be performed to remove the component
from the el

The tree traversal optimizations are located in the visit context and can be replaced
via the VisitContextFactory in the faces-config factory section