Since JSF 2.0, the javadoc of UIComponentBase.saveAttachedState says this:
"... This method supports saving attached objects of the following type: Objects, null values, and Collections of these objects. If any contained objects are not Collections and do not implement StateHolder, they must have zero-argument public constructors. The exact structure of the returned object is undefined and opaque, but will be serializable. ..."
In JSF 1.2 Lists instead Collections are handled. It is a small change, because usually StateHolder is implemented to deal with special cases.