lockPersistence.removeByC_K(className, key);
}
catch (NoSuchLockException nsle) {
}
}
<BUG>@Transactional(isolation = Isolation.SERIALIZABLE)
public void unlock(</BUG>
String className, String key, String owner,
boolean retrieveFromCache)
<BUG>throws SystemException {
Lock lock = lockPersistence.fetchByC_K(
className, key, retrieveFromCache);</BUG>
if (lock == null) {

lockPersistence.removeByC_K(className, key);
}
catch (NoSuchLockException nsle) {
}
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void unlock(
String className, String key, String owner,
boolean retrieveFromCache)
throws SystemException {
Lock lock = lockFinder.fetchByC_K(className, key, LockMode.UPGRADE);
if (lock == null) {
