internal static void WriteObjectUsingReflection(ObjectWriter objectWriter, object o) { Helpers.InvokeAttribute(typeof(PreSerializationAttribute), o); if(!objectWriter.WriteSpecialObject(o, !objectWriter.treatCollectionAsUserObject)) { objectWriter.WriteObjectsFields(o, o.GetType()); } }