public void guard(final Runnable r){
  incThread();
  try {
    r.run();
  }
  finally {
    decThread();
  }
}

public void guard ( final Runnable r ) { incThread ( ) ; try { r . run ( ) ; } finally { decThread ( ) ; } }
execute a critical region which needs to be interrupted if some condition is violated .
