public static <A extends Annotation> A getInheritedMethodAnnotation(
            Class<A> annotationClass, Method method) {
        A annotation = method.getAnnotation(annotationClass);
        if (annotation == null) {
            annotation = getOverriddenAnnotation(annotationClass, Optional.of(method), OptionalInt.empty());
        }

        return annotation;
    }
Class that finds annotations on superclasses/interfaces of supplied instance.
<p>
Credit for initial implementation goes to the author of this answer on Stack Overflow: https://stackoverflow.com/a/17281097
stroom-event-logging-rs/stroom-event-logging-rs-impl/src/main/java/stroom/event/logging/rs/impl/AnnotationUtil.java