docs: public RetryPolicy<R> withDelay(Duration delay) {
      Assert.notNull(delay, "delay");
      Assert.isTrue(delay.toNanos() > 0, "delay must be greater than 0");
      Assert.state(maxDuration == null || delay.toNanos() < maxDuration.toNanos(),
          "delay must be less than the maxDuration");
      Assert.state(delayMin == null, "Random delays have already been set");
      Assert.state(maxDelay == null, "Backoff delays have already been set");
      this.delay = delay;
      return this;
    }