/guava/guava/src/com/google/common/util/concurrent/Monitor.java
try { boolean satisfied = false;
boolean satisfied = false; try {
if (guard.monitor != this) { throw new IllegalMonitorStateException(); } final ReentrantLock lock = this.lock; boolean signalBeforeWaiting = lock.isHeldByCurrentThread(); lock.lockInterruptibly(); <extra_id_0> if (!guard.isSatisfied()) { await(guard, signalBeforeWaiting); } satisfied = true; } finally { if (!satisfied) {