/// <inheritdoc/>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var bson = PropertyBagBsonSerializer.Serialize(value as PropertyBag);
            var json = bson.ToJson();

            writer.WriteValue(json);
        }
        /// <inheritdoc/>
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var json = reader.Value as string;
            var bson = BsonDocument.Parse(json);

            return(PropertyBagBsonSerializer.Deserialize(bson));
        }