Pass through attributes and getAttributes( )
I've been studying JavaServer Faces 2.0 with the ultimate objective of not just being able to use the existing internal components and third party component libraties but to be able to author my own non-composite components as needed. I'm sure that I make things harder on myself than need be and that I assume more complexity than there really is. I'm struggling with getting my mind around component attributes and state saving/restoring mechanisms. The only way I know to approach it is pulling through the code of third party component libraries, Mojarra and using the "JavaServer Faces 2.0: The Complete Reference" book.
In my attempts at getting a good understanding of component attributes I dug around in the implementaion details and found a couple of methods dealing with pass through attributes. Specifically, in the com.sun.faces.renderkit.RenderkitUtils class there is renderPassThruAttributesOptimized and the other is called renderPassThruAttributesUnoptimized. What are pass through attributes?
Also, what attributes are available through a call to getAttributes and how do they end up in the attributes map? Do they have to be explicitly added to the map or does the JavaServer Faces runtime allow access to any and all attributes that may be accessible on a DOM element?