code: public RetryerBuilder<V> withWaitStrategy(@Nonnull WaitStrategy waitStrategy) throws IllegalStateException {
          Preconditions.checkNotNull(waitStrategy, "waitStrategy may not be null");
          Preconditions.checkState(this.waitStrategy == null, "a wait strategy has already been set %s", this.waitStrategy);
          this.waitStrategy = waitStrategy;
          return this;
      }
docs: Sets the wait strategy used to decide how long to sleep between failed attempts.
  The default strategy is to retry immediately after a failed attempt.
  
  @param waitStrategy the strategy used to sleep between failed attempts
  @return <code>this</code>
  @throws IllegalStateException if a wait strategy has already been set.