/** * Starting at the bottom of a class hierarchy, visit all classes (ancestors) in the hierarchy. Does * not visit interfaces. * @param klass Class to use as the bottom of the class hierarchy * @param visitor Visitor object */ public static void visitClassHierarchy(Class<?> klass, Visitor<Class<?>> visitor) { while (klass != null) { visitor.visit(klass); klass = klass.getSuperclass(); } }