@Test
public void canDealWithThreadInterruption()
                                           throws InterruptedException {

    keyLocker.writeLock( "abc", transactionID, 0, true );
    Thread t = new Thread() {
        @Override
        public void run() {
            keyLocker.writeLock( "abc", transactionID + 1, Long.MAX_VALUE / 2, true );
        }
    };
    t.start();
    t.interrupt();
    t.join();
}