number of objects or total size of the objects for each classid are streamed out followed by the stream for all objects having the same classid typically prepended by the total number or total size of the objects for that classid the stream may thus contain a nesting of the objects for each classid within each classid the next object number that would be written named u201c nextobjectid u201d in one embodiment may also be streamed out when the objects are to be loaded from memory the file name containing the objects to be restored has typically been associated with an executable portion of code which may be a dll dynamic link library file when the dll is invoked a com persistence controller 24 object is created in memory the com persistence controller 24 object may be used to restore the saved objects to the state they were in previous to being saved the com persistence controller 24 objects will typically create storage to be used as a buffer to store the stream from the objects being restored the com persistence controller 24 object may instruct the persistent object registry 26 object to load with each newly loaded object registered with the com persistence controller 24 object and the persistent object registry 26 objects as the objects are being loaded into memory for each smart pointer in the objects the smart pointers contain the class id and identity.