default R with(UnaryOperator<C> operator) {
    final CriteriaContext context = Matchers.extract(this);
    final UnaryOperator<Expression> expr = e -> Matchers.toInnerExpression(context, operator).apply(e);
    // need to add AND combiner (not DNF)
    return context.applyAndCreateRoot(expr, Combiner.and());
  }
Group expression expressed in {@code operator} as single unit.
@param operator expression(s) to be grouped
@return new root criteria with updated expression
criteria/common/src/org/immutables/criteria/matcher/WithMatcher.java