public override void pack(Object obj, ITransport transport)
{
HeteroMap map = (HeteroMap)obj;
if (map == null)
{
Int32.pack(0, transport);
}
else
{
Int32.pack(map.Count, transport);
foreach (DictionaryEntry e in map)
{
AbstractPacker keypacker = map.getKeyPacker(e.Key);
AbstractPacker valpacker = map.getValuePacker(e.Key);
Int32.pack(keypacker.getId(), transport);
keypacker.pack(e.Key, transport);
Int32.pack(valpacker.getId(), transport);
valpacker.pack(e.Value, transport);
}
}
}