code: public static <T> ComposableFuture<T> retry(final int retries, final FutureAction<T> action) {
      return retry(retries, __ -> action.execute());
    }
docs: retries a given operation N times for each computed Failed future.
  
  @param retries max amount of retries
  @param action  the eager future provider
  @param <T>     the future type
  @return the composed result.