if (writeAheadLog != null) {
final OPageChanges pageChanges = localPage.getPageChanges();
if (pageChanges.isEmpty())
return;
final OAtomicOperation atomicOperation = atomicOperationsManager.getCurrentOperation();
assert atomicOperation != null;
final OOperationUnitId unitId = atomicOperation.getOperationUnitId();
final OLogSequenceNumber prevLsn;
if (isNewPage)
prevLsn = atomicOperation.getStartLSN();
else
prevLsn = localPage.getLsn();
final OLogSequenceNumber lsn = writeAheadLog.log(new OUpdatePageRecord(pageIndex, fileId, unitId, pageChanges, prevLsn));
localPage.setLsn(lsn);