The jitter ratio calculation could throw an ArithmeticException
if spec.delay().toMillis()
returns 0. Additionally, converting to milliseconds may lose precision for sub-millisecond delays.
Retry retry = Retry.backoff(spec.maxAttempts(), spec.delay())
.jitter((double) spec.jitter().toMillis() / spec.delay().toMillis())
.multiplier(spec.multiplier())
.maxBackoff(spec.maxDelay())