// Must acquire a write lock on the object in order to delete it,
// prevents object form being deleted while someone else is
// looking at it.
try {
_tracker.markDeleted(object);
engine.softLock(this, oid, _lockTimeout);
// Mark object as deleted. This will prevent it from being viewed
// in this transaction and will handle it properly at commit time.
// The write lock will prevent it from being viewed in another
// transaction.
engine.markDelete(this, oid, object, _lockTimeout);