docs: void doAwaitUntil() throws InterruptedException {
          lock.lock();
          try {
              condition.await(DEFAULT_TIMEOUT_MILLISECONDS, TimeUnit.MILLISECONDS);
          } finally {
              lock.unlock();
          }
      }