docs: public static Class<? extends Annotation> findAnnotationClass(Class<?> c, Class<?> base) {
  		if (c == Object.class || c == null) return null;
  		Class<? extends Annotation> answer = null;
  		
  		answer = findAnnotationHelper(base, c.getGenericSuperclass());
  		if (answer != null) return answer;
  		
  		for (Type iface : c.getGenericInterfaces()) {
  			answer = findAnnotationHelper(base, iface);
  			if (answer != null) return answer;
  		}
  		
  		Class<? extends Annotation> potential = findAnnotationClass(c.getSuperclass(), base);
  		if (potential != null) return potential;
  		for (Class<?> iface : c.getInterfaces()) {
  			potential = findAnnotationClass(iface, base);
  			if (potential != null) return potential;
  		}
  		
  		return null;
  	}