docs: public static Method getMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) {
          if (clazz == null || methodName == null || methodName.length() == 0) {
              return null;
          }
  
          for (Class<?> itr = clazz; hasSuperClass(itr); ) {
              Method[] methods = itr.getDeclaredMethods();
  
              for (Method method : methods) {
                  if (method.getName().equals(methodName) && Arrays.equals(method.getParameterTypes(), parameterTypes)) {
                      return method;
                  }
              }
  
              itr = itr.getSuperclass();
          }
          return null;
      }