// an entry is added to the object list to prevent
// infinite loops due to bi-directional references
_tracker.trackObject(molder, oid, identity);
if (engine.expireCache(this, oid, _lockTimeout)) {
engine.releaseLock(this, oid);
}
} catch (LockNotGrantedException except) {
throw except;
} finally {
_tracker.untrackObject(identity);