public static MethodInfo GetMethod(Expression expression)
            {
                var visitor = new MethodInfoVisitor();

                visitor.Visit(expression);
                return(visitor._mi);
            }
 public static MethodCall <TReturn> Call <T, TReturn>(this TypedExpression <T> target, Expression <Func <T, TReturn> > method)
 {
     return(new MethodCall <TReturn>(Expression.Call(target, MethodInfoVisitor.GetMethod(method))));
 }