A method of serializing and deserializing unknown data types in a strongly typed
model. The method includes serializing an object to a data stream at first node
and communicating the data stream to a second node. The second node may be another
process, machine or a file on a disk. The data stream is deserialized at a later
time, and the data types within the data stream are determined. Objects are instantiated
in accordance with known data types, and unknown objects are created to retain
information related to each unknown data type in the data stream. These unknown
objects are used to regenerate the unknown data type when a serialization operation
is performed at the second node on an unknown object.