### Question:
BlockingLimiter implements Limiter<ContextT> { public static <ContextT> BlockingLimiter<ContextT> wrap(Limiter<ContextT> delegate) { return new BlockingLimiter<>(delegate, MAX_TIMEOUT); } private  BlockingLimiter(Limiter<ContextT> limiter, Duration timeout); static BlockingLimiter<ContextT> wrap(Limiter<ContextT> delegate); static BlockingLimiter<ContextT> wrap(Limiter<ContextT> delegate, Duration timeout); @Override Optional<Listener> acquire(ContextT context); @Override String toString(); static final Duration MAX_TIMEOUT; }### Answer:
@Test(expected = IllegalArgumentException.class) public void failOnHighTimeout() { SettableLimit limit = SettableLimit.startingAt(1); BlockingLimiter<Void> limiter = BlockingLimiter.wrap(SimpleLimiter.newBuilder().limit(limit).build(), Duration.ofDays(1)); }