/guava/guava/src/com/google/common/util/concurrent/Monitor.java
return awaitNanos( guard, remainingNanos, threw) ;
return awaitNanos ( guard, remainingNanos, signalBeforeWaiting ) ;
boolean signalBeforeWaiting = true; final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try { for (long remainingNanos = timeoutNanos; ; ) { try { <extra_id_0> } catch (InterruptedException interrupt) { interrupted = true; if (guard.isSatisfied()) { return true; } signalBeforeWaiting = false;