docs: private static Optional<Integer> invariableHash(AnnotationValue annotationValue) {
      Object value = annotationValue.getValue();
      if (value instanceof String || Primitives.isWrapperType(value.getClass())) {
        return Optional.of(value.hashCode());
      } else if (value instanceof List<?>) {
        @SuppressWarnings("unchecked") // by specification
        List<? extends AnnotationValue> list = (List<? extends AnnotationValue>) value;
        return invariableHash(list);
      } else {
        return Optional.empty();
      }
    }