@NotNull
  List<Method> getAllMethods(@NotNull Class<?> startFrom) {
    List<Method> result = new ArrayList<>();
    for (Class<?> superClass : JBIterable.from(JBIterableClassTraverser.classTraverser(startFrom)).append(Object.class).unique()) {
      for (Method method : superClass.getDeclaredMethods()) {
        if (myMethodName.equals(method.getName()) &&
            method.getParameterCount() == myMethodParameters.length &&
            Arrays.equals(method.getParameterTypes(), myMethodParameters)) {
          result.add(method);
        }
      }
    }
    return result;
  }
@NotNull
  List<Method> getAllMethods(@NotNull Class<?> startFrom)