public static Func <TTo, bool> Convert(Expression <Func <TFrom, bool> > root)
        {
            var visitor    = new ParameterTypeExpressionVisitor <TFrom, TTo>();
            var expression = (Expression <Func <TTo, bool> >)visitor.Visit(root);

            return(expression.Compile());
        }
        public static Expression <Func <TTo, bool> > Convert <TFrom, TTo>(this Expression <Func <TFrom, bool> > root)
        {
            var visitor = new ParameterTypeExpressionVisitor <TFrom, TTo>();

            return((Expression <Func <TTo, bool> >)visitor.Visit(root));
        }