code: public static <S, D> Condition<S, D> not(Condition<S, D> condition) {
      Assert.notNull(condition, "condition");
      return new Not<S, D>(condition);
    }
docs: Returns a condition that does NOT apply when the given {@code condition} applies.
  
  @throws IllegalArgumentException if {@code condition} is null