@SuppressWarnings( "LockAcquiredButNotSafelyReleased" )
    public AutoCloseableLock lockInterruptibly() throws InterruptedException, IllegalStateException {
        checkNotReleased();
        lock.lockInterruptibly();
        return autoCloseable;
    }
Acquires the lock, blocking until the lock is acquired or the thread is interrupted.

@return An AutoCloseableLock
@throws InterruptedException  if the thread was interrupted before the lock could be acquired
@throws IllegalStateException if this lock has already been released by the last thread to hold it
xmppserver/src/main/java/org/jivesoftware/util/AutoCloseableReentrantLock.java