internal static Expression Replace(Expression expressionToAlter,
                                           ConstantExpression subExpressionToFind, Expression replacementExpression)
        {
            var visitor = new SubExpressionReplacer(subExpressionToFind, replacementExpression);

            return(visitor.Visit(expressionToAlter));
        }
        internal static Expression Replace(Expression expressionToAlter,
            ConstantExpression subExpressionToFind, Expression replacementExpression)
        {
            var visitor = new SubExpressionReplacer(subExpressionToFind, replacementExpression);

            return visitor.Visit(expressionToAlter);
        }