public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var converters = serializer.Converters.Where(x => !(x is TypeInfoConverter)).ToArray();
var jObject = new JObject();
jObject.AddFirst(new JProperty("Type", value.GetType().FullName));
jObject.Add(new JProperty("Data", JToken.FromObject(value)));
jObject.WriteTo(writer, converters);
}