OFetchHelper.checkFetchPlanValid(iFetchPlan);
if (callbackHooks(TYPE.BEFORE_READ, record) == ORecordHook.RESULT.SKIP)
return null;
if (record.getInternalStatus() == ORecordElement.STATUS.NOT_LOADED)
record.reload();
if (iLockingStrategy == OStorage.LOCKING_STRATEGY.KEEP_SHARED_LOCK)
record.lock(false);
else if (iLockingStrategy == OStorage.LOCKING_STRATEGY.KEEP_EXCLUSIVE_LOCK)
record.lock(true);