public void waitForUninterruptibly ( Guard guard ) { if ( ! ( ( guard . monitor == this ) & lock . isHeldByCurrentThread ( ) ) ) { throw new IllegalMonitorStateException ( ) ; } if ( ! guard . isSatisfied ( ) ) { awaitUninterruptibly ( guard , true ) ; } }
Waits for the guard to be satisfied . Waits indefinitely . May be called only by a thread currently occupying this monitor .