private Expression BaseVisitNhDistinct(DistinctExpression expression)
        {
            Expression nx = base.VisitExpression(expression.Expression);

            return nx != expression.Expression ? new DistinctExpression(nx) : expression;
        }
 protected virtual Expression VisitNhDistinct(DistinctExpression expression)
 {
     return VisitUnhandledItem<DistinctExpression, Expression>(expression, "VisitNhDistinct", BaseVisitNhDistinct);
 }