public string Serialize(object obj, ISerializer serializer) { if (obj is ICollection && !(obj is IDictionary<string, object>)) return serializer.Serialize(FromCollection((ICollection)obj, serializer)); else return serializer.Serialize(FromObject(obj, serializer)); }