Tapestry make a single, special case for one particular type of persistent page property: references to Enterprise JavaBeans.
The page recorders check to see if a page property is type
javax.ejb.EJBObject. If so, they don't
store the object itself (EJBObjects are not directly serializable),
instead they get the Handle for the object
and store that instead (Handles are serializable).
When the page is next accessed, the Handle is converted back into an
EJBObject before assigning
it to the page property.
A side effect of this is that you may not have a Handle as a
persistant page property; the page
recorders don't have a way to differentiate a Handle from an
EJBObject converted to a Handle
and always assume the latter.