code: public static <A extends Annotation> List<A> getMethodParameterAnnotations(Method method, int index,
          Class<A> annotationClass)
      {
          Annotation[][] parametersAnnotations = method.getParameterAnnotations();
  
          Annotation[] parameterAnnotations = parametersAnnotations[index];
  
          List<A> foundAnnotations = new ArrayList<A>();
          for (Annotation annotation : parameterAnnotations) {
              if (annotationClass.isInstance(annotation)) {
                  foundAnnotations.add((A) annotation);
              }
          }
  
          return foundAnnotations;
      }
docs: Get {@link Annotation}s of the provided class associated to the the provided method parameter.
  
  @param <A> the actual {@link Annotation} type
  @param method the method
  @param index the index of the parameter in the method
  @param annotationClass the class of the annotation
  @return the annotations