code: public static <T> Observable<T> wrapForRetry(Observable<T> source, int maxAttempts, Delay retryDelay) {
          return wrapForRetry(source, new RetryWithDelayHandler(maxAttempts, retryDelay));
      }
docs: Wrap an {@link Observable} so that it will retry on all errors. The retry will occur for a maximum number of
  attempts and with a provided {@link Delay} between each attempt.
  
  @param source the {@link Observable} to wrap.
  @param maxAttempts the maximum number of times to attempt a retry. It will be capped at <code>{@link Integer#MAX_VALUE} - 1</code>.
  @param retryDelay the {@link Delay} between each attempt.
  @param <T> the type of items emitted by the source Observable.
  @return the wrapped retrying Observable.