Classes that derive from RWCollectable carry two major advantages: they can be used by the Smalltalk-like collections, which also derive from RWCollectable, and they are the only set of collection classes able to use the powerful polymorphic persistence machinery. In this section, we will provide some examples of RWCollectable classes, then describe how to create your own RWCollectable classes.
What we don't do in this section is describe the mechanism of polymorphic persistence itself. Polymorphic, isomorphic, and simple persistence are all covered in detail in the previous chapter called Persistence. To summarize, polymorphic persistence is the storage and retrieval of objects to and from a stream or file in such a way that pointer relationships are preserved among persisted objects, which can be restored without the restoring process knowing the object's type.