Thread.sleep(500);
// now try and get a read lock, *shouldn't* be able to obtain the lock
// before the 2 second timeout
try {
// try a read lock with 2 second timeout
boolean readLockAquired = readLock.tryLock(2, TimeUnit.SECONDS);
Assert.assertFalse("Unexpected obtained a read lock", readLockAquired);
} catch (ConcurrentAccessTimeoutException cate) {
// expected
} finally {
// let the latch know that this thread is done with its part