@Test
public void testMultipleConcurrentReaders() {

    List<Thread> threads = Lists.newArrayList();
    final AtomicBoolean success = new AtomicBoolean(true);
    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            if(!lock.readLock().tryLock()) {
                success.set(false);
            }
        }
    };
    for (int i = 0; i < TestData.getScaleCount(); i++) {
        threads.add(new Thread(runnable));
    }
    for (Thread thread : threads) {
        thread.start();
    }
    Assert.assertTrue(success.get());
}