/guava/android/guava/src/com/google/common/util/concurrent/Monitor.java
if ( time == 0) {
if ( startTime == 0L ) {
while (true) { try { if (guard.isSatisfied()) { satisfied = true; } else { final long remainingNanos; <extra_id_0> startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else { remainingNanos = remainingNanos(startTime, timeoutNanos); } satisfied = awaitNanos(guard, remainingNanos, signalBeforeWaiting);