docs: public static Stream<Method> findMethodsByName(Class type, String name) {
          Class currentType = type;
          Set<Method> methodSet = new HashSet<>();
          while (currentType != null) {
              Method[] methods = currentType.isInterface() ? currentType.getMethods() : currentType.getDeclaredMethods();
              for (Method method : methods) {
                  if (name.equals(method.getName())) {
                      methodSet.add(method);
                  }
              }
              currentType = currentType.getSuperclass();
          }
          return methodSet.stream();
      }