code: public boolean await(long waitDuration, TimeUnit timeUnit) throws InterruptedException {
      return sync.tryAcquireSharedNanos(0, timeUnit.toNanos(waitDuration));
    }
docs: Waits for the {@code waitDuration} until the circuit has been closed, aborting if interrupted,
  returning true if the circuit is closed else false.