protected internal virtual Expression VisitExcept(ExceptExpression node)
 {
     return node.Update(
         Visit(node.Source),
         Visit(node.Other));
 }
 protected internal virtual Expression VisitExcept(ExceptExpression node)
 {
     return(node.Update(
                Visit(node.Source),
                Visit(node.Other)));
 }
 private BsonValue TranslateExcept(ExceptExpression node)
 {
     return new BsonDocument("$setDifference", new BsonArray(new[]
     {
         TranslateValue(node.Source),
         TranslateValue(node.Other)
     }));
 }