static <C> UnaryOperator<Expression> toInnerExpression(CriteriaContext context, UnaryOperator<C> expr) {
    return expression -> {
      final CriteriaContext newContext = context.nested();
      @SuppressWarnings("unchecked")
      final C initial = (C) newContext.creator().create(newContext);
      final C changed = expr.apply(initial);
      return Matchers.extract((Matcher) changed).expression();
    };
  }
Extracts criteria context from an arbitrary object.
@see AbstractContextHolder
criteria/common/src/org/immutables/criteria/matcher/Matchers.java