public static Expression <Func <T, bool> > Not <T>(Expression <Func <T, bool> > expression)
     where T : class
 {
     return(expression == null ? null : expression.ApplyUnary(Expression.Not));
 }