*/
public void releasePersistentLock(LockResult le) {
//synchronisation is solved in the LockManager
String derivedLockString = ((LockResultImpl)le).getLockEntry().getKey();
PropertyManager pm = PropertyManager.getInstance();
Property p = pm.findProperty(null, null, null, CATEGORY_PERSISTENTLOCK, derivedLockString);
if (p == null) throw new AssertException("could not release lock: no lock in db, " + derivedLockString);
Identity ident = le.getOwner();
Long ownerKey = p.getLongValue();
if (!ownerKey.equals(ident.getKey())) throw new AssertException("user " + ident.getName()
+ " cannot release lock belonging to user with key " + ownerKey + " on resourcestring " + derivedLockString);