code: public static List<Method> getAllMethods(List<Method> methods, Class<?> clazz)
    {
      for (Method method : clazz.getDeclaredMethods())
      {
        methods.add(method);
      }
  
      if (clazz.getSuperclass() != null)
      {
        methods = getAllMethods(methods, clazz.getSuperclass());
      }
  
      return methods;
    }
docs: This static method will get ALL methods for this class, including any inherited ones.
  
  @param methods List&lt;Method&gt;
  @param clazz Class&lt;?&gt; - The Class to run the reflection on
  @return List&lt;Method&gt;