code: public static List<Class<?>> computeClassHierarchy(Class<?> clazz) {
          List<Class<?>> classes = new ArrayList<Class<?>>();
          computeClassHierarchy(clazz, classes);
          return classes;
      }
docs: Get list superclasses and interfaces recursively.
  
  @param clazz The class to start the search with.
  
  @return List of list super classes and interfaces of {@code clazz}. The list contains the class itself! The empty
  list is returned if {@code clazz} is {@code null}.