code: @SuppressWarnings("unchecked")
    public T withInterval(Duration interval) {
      Assert.notNull(interval, "interval");
      Assert.state(maxInterval == null, "Backoff intervals have already been set");
      this.interval = interval;
      return (T) this;
    }
docs: Sets the {@code interval} to pause for between attempts.
  
  @throws NullPointerException if {@code interval} is null
  @throws IllegalStateException if backoff intervals have already been set via
  {@link #withBackoff(Duration, Duration)} or
  {@link #withBackoff(Duration, Duration, int)}