/** isQueued(null) throws NullPointerException */
 public void testIsQueuedNPE() {
   final Mutex sync = new Mutex();
   try {
     sync.isQueued(null);
     shouldThrow();
   } catch (NullPointerException success) {
   }
 }
 /** isQueued reports whether a thread is queued */
 public void testIsQueued() {
   final Mutex sync = new Mutex();
   Thread t1 = new Thread(new InterruptedSyncRunnable(sync));
   Thread t2 = new Thread(new InterruptibleSyncRunnable(sync));
   assertFalse(sync.isQueued(t1));
   assertFalse(sync.isQueued(t2));
   sync.acquire();
   t1.start();
   waitForQueuedThread(sync, t1);
   assertTrue(sync.isQueued(t1));
   assertFalse(sync.isQueued(t2));
   t2.start();
   waitForQueuedThread(sync, t2);
   assertTrue(sync.isQueued(t1));
   assertTrue(sync.isQueued(t2));
   t1.interrupt();
   awaitTermination(t1);
   assertFalse(sync.isQueued(t1));
   assertTrue(sync.isQueued(t2));
   sync.release();
   awaitTermination(t2);
   assertFalse(sync.isQueued(t1));
   assertFalse(sync.isQueued(t2));
 }