code: public static List<Method> getAllMethods(Class<?> c, Class<? extends Annotation> annotationType) {
        List<Method> annotated = new ArrayList<>();
        inspectRecursively(c, annotated, annotationType);
        return annotated;
     }
docs: Returns a set of Methods that contain the given method annotation.  This includes all public, protected, package
  and private methods, as well as those of superclasses.  Note that this does *not* include overridden methods.
  
  @param c              class to inspect
  @param annotationType the type of annotation to look for
  @return List of Method objects that require injection.