default R not(UnaryOperator<C> operator) {
    final CriteriaContext context = Matchers.extract(this);
    final UnaryOperator<Expression> expr = e -> Expressions.not(Matchers.toInnerExpression(context, operator).apply(e));
    return context.applyAndCreateRoot(expr);
  }
Negate (logically) lambda expression expressed by {@code operator}. Equivalent to boolean {@code NOT} operator.

@param operator used as lambda expression
@return new root criteria with updated expression
criteria/common/src/org/immutables/criteria/matcher/NotMatcher.java