The process of externalising an object involves externalising its data to a stream.
For a class instance, this involves externalising each of its data members and components to a stream. This process is encapsulated by the ExternalizeL() member function of the class.
A class always defines ExternalizeL() as:
void ExternalizeL(RWriteStream& aStream) const;
and uses the write stream interface class RWriteStream.
Note that ExternalizeL() is not virtual and there is no implication that a class that requires an ExternalizeL() function must be derived from any particular base class.