docs: @GuardedBy("lock")
    private boolean isSatisfied(Guard guard) {
      try {
        return guard.isSatisfied();
      } catch (Throwable throwable) {
        signalAllWaiters();
        throw Throwables.propagate(throwable);
      }
    }