/** * Matches a list of annotations by a given matcher on a type that declared these annotations or inherited them * from its super classes. * * @param matcher A matcher to apply onto a list of inherited annotations. * @param <T> The type of the matched object. * @return A matcher that matches a list of inherited annotation by a given matcher. */ public static <T extends TypeDescription> ElementMatcher.Junction<T> hasAnnotation(ElementMatcher<? super AnnotationDescription> matcher) { return new InheritedAnnotationMatcher<T>(new CollectionItemMatcher<AnnotationDescription>(matcher)); }