public static IDictionary UnmarshalPrimitiveMap(BinaryReader dataIn) { int size = dataIn.ReadInt32(); if(size < 0) { return null; } IDictionary answer = new Hashtable(size); for(int i = 0; i < size; i++) { String name = dataIn.ReadString(); answer[name] = UnmarshalPrimitive(dataIn); } return answer; }