code: public static <A extends Annotation> A getAnnotation(final AnnotatedElement annotatedElement, final Class<A> annotationClass) {
          final Optional<Annotation> annotation = Stream.of(annotatedElement.getAnnotations())
                  .filter(a -> a.annotationType().getName().equals(annotationClass.getName()))
                  .findAny();
          return (A) annotation.orElse(null);
      }
docs: Returns the annotation or {@code null} if the element is not annotated with that type.
  <b>Note:</b> This step is necessary due to issues with external class loaders (e.g. Maven).
  The classes may not be identical and are therefore compared by FQ class name.