code: @Deprecated
    public static <T> ComposableFuture<T> retry(final int retries, final long duration, final TimeUnit unit,
                                                final FutureAction<T> action) {
      return action.execute().withTimeout(duration, unit).recoverWith(error -> {
        if (retries < 1) {
          return ComposableFutures.fromError(error);
        }
  
        return retry(retries - 1, action);
      });
    }
docs: reties an eager future on failure "retries" times. each try is time capped with the specified time limit.
  
  @param retries  max amount of retries
  @param duration the max time duration allowed for each try
  @param unit     the duration time unit
  @param action   the eager future provider
  @param <T>      the future type
  @return the composed result.
  @deprecated please define execution cap outside of retry context