code: public static <T extends AnnotationSource> ElementMatcher.Junction<T> isAnnotatedWith(ElementMatcher<? super TypeDescription> matcher) {
          return declaresAnnotation(annotationType(matcher));
      }
docs: Matches an {@link AnnotationSource} for declared annotations.
  This matcher does not match inherited annotations which only exist for classes. Use
  {@link net.bytebuddy.matcher.ElementMatchers#inheritsAnnotation(net.bytebuddy.matcher.ElementMatcher)}
  for matching inherited annotations.
  
  @param matcher The matcher to apply to any annotation's type found on the matched annotated element.
  @param <T>     The type of the matched object.
  @return A matcher that validates that an annotated element is annotated with an annotation of a type
  that matches the given {@code matcher}.