public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            // Manage the open and closing of the object.
            // Write APObject specific content (e.g., acls)
            // Call appropriate helpers to write common stuff.
            APObject obj = value as APObject;

            if (obj == null)
            {
                writer.WriteNull();
                return;
            }
            writer.StartObject();
            EntityParser.WriteJson(writer, obj, serializer);
            AclParser.WriteAcl(writer, obj, serializer);
            writer.WriteEndObject();
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            // Manage the open and closing of the object.
            // Write APConnection specific content (e.g., endpoints)
            // Call appropriate helpers to write common stuff.
            APConnection conn = value as APConnection;

            if (conn == null)
            {
                writer.WriteNull();
                return;
            }
            writer.StartObject();
            EntityParser.WriteJson(writer, conn, serializer);
            WriteEndpoints(writer, conn, serializer);
            writer.WriteEndObject();
        }