@Override
  final void doSetRate(double permitsPerSecond, long nowMicros) {
    resync(nowMicros);
    double stableIntervalMicros = SECONDS.toMicros(1L) / permitsPerSecond;
    this.stableIntervalMicros = stableIntervalMicros;
    doSetRate(permitsPerSecond, stableIntervalMicros);
  }
The time when the next request (no matter its size) will be granted. After granting a request,
this is pushed further in the future. Large requests push this further than small requests.
src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java