protected internal virtual Expression VisitUnion(UnionExpression node)
 {
     return node.Update(
         Visit(node.Source),
         Visit(node.Other));
 }
 protected internal virtual Expression VisitUnion(UnionExpression node)
 {
     return(node.Update(
                Visit(node.Source),
                Visit(node.Other)));
 }
 private BsonValue TranslateUnion(UnionExpression node)
 {
     return new BsonDocument("$setUnion", new BsonArray(new[]
     {
         TranslateValue(node.Source),
         TranslateValue(node.Other)
     }));
 }