if (delayFunction != null && policy.canApplyDelayFn(result.getResult(), result.getFailure())) { Duration computedDelay = delayFunction.computeDelay(result.getResult(), result.getFailure(), execution); if (computedDelay != null && computedDelay.toNanos() >= 0)