@GuardedBy("lock")
  private boolean isSatisfied(Guard guard) {
    try {
      return guard.isSatisfied();
    } catch (Throwable throwable) {
      signalAllWaiters();
      throw throwable;
    }
  }
@GuardedBy("lock")
  private boolean isSatisfied(Guard guard) {
    try {
      return guard.isSatisfied();
    } catch (Throwable throwable) {
      signalAllWaiters();
      throw throwable;
    }
  }
@ GuardedBy ( "lock" ) private boolean isSatisfied ( Guard guard ) { try { return guard . isSatisfied ( ) ; } catch ( Throwable throwable ) { signalAllWaiters ( ) ; throw throwable ; } }
Exactly like guard.isSatisfied(), but in addition signals all waiting threads in the (hopefully
unlikely) event that isSatisfied() throws.
Exactly like guard . isSatisfied () but in addition signals all waiting threads in the ( hopefully unlikely ) event that isSatisfied () throws .