code: public void enterWhenUninterruptibly(Guard guard) {
      if (guard.monitor != this) {
        throw new IllegalMonitorStateException();
      }
      final ReentrantLock lock = this.lock;
      boolean signalBeforeWaiting = lock.isHeldByCurrentThread();
      lock.lock();
  
      boolean satisfied = false;
      try {
        if (!guard.isSatisfied()) {
          awaitUninterruptibly(guard, signalBeforeWaiting);
        }
        satisfied = true;
      } finally {
        if (!satisfied) {
          leave();
        }
      }
    }
docs: Enters this monitor when the guard is satisfied. Blocks indefinitely.