public static Expression Remove(Expression expression)
        {
            expression = new RedundantSubqueryRemover().Visit(expression);
            expression = SubqueryMerger.Merge(expression);
            // expression = AggregateSubqueryMerger.Merge(expression);

            return(expression);
        }
        public static Expression Remove(Expression expression)
        {
            expression = new RedundantSubqueryRemover().Visit(expression);
            expression = SubqueryMerger.Merge(expression);
            // expression = AggregateSubqueryMerger.Merge(expression);

            return expression;
        }