docs: public static Method findMethod(Class<?> type, String methodName) {
          try {
              return type.getDeclaredMethod(methodName);
          } catch (NoSuchMethodException e) {
              if (type.equals(Object.class) || type.isInterface()) {
                  throw new RuntimeException(e);
              }
              return findMethod(type.getSuperclass(), methodName);
          }
      }