Each of the methods mentioned above have a particular role to fulfill during the JSF lifecycle.
Transient or not
The setTransient method can be used to state whether or not this StateHolder participates in state saving (true) or not (false). The isTransient method can be used to inspect that.
Save and restore
The saveState method is called by the runtime to save the StateHolder. Note the return value of this method should be Serializable. The restoreState method is called by the runtime to restore the StateHolder.