Polymorphic Persistence
Polymorphic persistence preserves pointer relationships (or morphology) among persisted objects, and also allows the restoring process to restore an object without prior knowledge of that object's type.
The Essential Tools Module uses classes derived from RWCollectable to do polymorphic persistence. The objects created from those classes may be any of the different types derived from RWCollectable. A group of such objects, where the objects may have different types, is called a heterogeneous collection.
Table 18 lists the classes that use polymorphic persistence.
Table 18 – Polymorphic persistence classes 
Category
Description
RWCollectable (Smalltalk-like) classes
RWCollection classes (which derive from RWCollectable)