protected void Serialize(WriteTarget target) { Type type = target.item.GetType(); context = target.item; int id; if (type.IsClass) { id = GetRefId(target.item); outputTargets[id] = target; } else { id = -1; } //string creationType = SerializerUtil.GetCreationType(type, context); TypeSerializer serializer = SerializerUtil.GetTypeSerializer(type); builder.Length = 0; writeCalls = 0; serializer.Serialize(target.item, this); target.id = id; target.fieldCount = writeCalls; target.fields = builder.ToString(); target.version = serializer.GetVersion(); }