public void destroy(final DistributedLock pLock) {
try {
_lock.lock();
if (!_locks.containsKey(pLock.getName()))
{ throw new DistributedLockException("Lock has already been destroyed: " + pLock.getName()); }
// Make sure the lock isn't locked.
if (pLock.isLocked())
{ throw new IllegalStateException("Lock is currently in use - must unlock before destroying"); }