private MongoDB.Bson.BsonDocument Swap(MongoDB.Bson.BsonDocument _doc)
        {
            var keys = JsonConvert.DeserializeObject <List <SwapKeyValue> >(this.SwapKeyValues);

            foreach (SwapKeyValue skv in keys)
            {
                MongoDB.Bson.BsonElement v = new MongoDB.Bson.BsonElement();
                if (_doc.TryGetElement(skv.Source, out v))
                {
                    _doc.Add(new MongoDB.Bson.BsonElement(skv.Destination, _doc[skv.Source]));
                    _doc.Remove(skv.Source);
                }
            }
            return(_doc);
        }