public override void UndoLog(ILogRecord record, ITransaction tran) { lock (this.lockObject) { var undoContent = record.GetUndoContent(); RowHolder rs = new RowHolder(this.columnTypes, undoContent.DataToUndo); if (record.GetRecordType() == LogRecordType.RowModify) { this.items.SetRow(undoContent.RowPosition, rs); } else if (record.GetRecordType() == LogRecordType.RowInsert) { this.items.DeleteRow(undoContent.RowPosition); this.rowCount--; } else { throw new NotImplementedException(); } } }