@Test
  void noKey() {
    KeyExtractor extractor = KeyExtractor.noKey().create(WithAnnotation.class);
    check(!extractor.metadata().isExpression());
    check(!extractor.metadata().isKeyDefined());
    check(extractor.metadata().keys()).isEmpty();
    Assertions.assertThrows(UnsupportedOperationException.class, () -> extractor.extract(new WithAnnotation("foo")));
  }
Check that annotation name is exposed in error message
criteria/common/test/org/immutables/criteria/backend/KeyExtractorTest.java