protected void handleDeleteLockRequest(String lock_name) { Lock lock = _getLock(lock_name); lock.lock(); try { ServerLock server_lock = server_locks.get(lock_name); if (server_lock == null) return; synchronized (server_lock.condition) { if (server_lock.condition.queue.isEmpty()) server_locks.remove(lock_name); else server_lock.current_owner = null; } } finally { lock.unlock(); } }