public static Builder builder() {
        return new Builder();
    }
@Test
    public void testBackOffWithMultiplier() {
        final BackOff backOff = BackOff.builder().multiplier(1.5).build();
        final BackOffTimerTask context = new BackOffTimerTask(backOff, null, t -> true);

        long delay = BackOff.DEFAULT_DELAY.toMillis();
        long oldDelay;
        long elapsed = 0;

        for (int i = 1; i <= 5; i++) {
            oldDelay = delay;
            delay = context.next();
            elapsed += delay;

            assertEquals(i, context.getCurrentAttempts());
            assertEquals((long) (oldDelay * 1.5), delay);
            assertEquals((long) (oldDelay * 1.5), context.getCurrentDelay());
            assertEquals(elapsed, context.getCurrentElapsedTime(), 0);
        }
    }