code: public static <A extends Annotation> List<A> getRepeatableAnnotations(Method method, Class<A> annotationClass) {
          A[] annotations = method.getAnnotationsByType(annotationClass);
          if (annotations == null || annotations.length == 0) {
              for (Annotation metaAnnotation : method.getAnnotations()) {
                  annotations = metaAnnotation.annotationType().getAnnotationsByType(annotationClass);
                  if (annotations != null && annotations.length > 0) {
                      return Arrays.asList(annotations);
                  }
              }
              Method superclassMethod = getOverriddenMethod(method);
              if (superclassMethod != null) {
                  return getRepeatableAnnotations(superclassMethod, annotationClass);
              }
          }
          if (annotations == null) {
              return null;
          }
          return Arrays.asList(annotations);
      }
docs: Returns a List of repeatable annotations by type from a method.
  
  @param method is the method to find
  @param annotationClass is the type of annotation
  @param <A> is the type of annotation
  @return List of repeatable annotations if it is found