protected override void OnUpdating(DataEvent ev)
        {
            ReadsDataEvent read = ev as ReadsDataEvent;

            //
            // IsSynced keeps track of initial sync, Resync keeps track of resync.
            // This convoluted logic is because of retrofitting PAGIS to allow
            // already synced reads to be resent via Wi-Fi.
            //
            // Also don't delete our linked tables if this is a scrubbed read because we can't recreate the hit
            // DataEvents are like the coolest thing ever

            if (!read.IsSynced && !read.Resync && read.VRM != "LPN_SCRUB")
            {
                foreach (DataTableBase linkedTable in this.LinkedTables)
                {
                    foreach (DataEvent linkedEvent in ev.LinkedDataEvents(linkedTable))
                    {
                        linkedTable.Delete(linkedEvent);
                    }
                    ev.LinkedDataEvents(linkedTable).Clear();
                }
                if (this.DataFile.DataRepository is SystemRepository)
                {
                    (this.DataFile.DataRepository as SystemRepository).HotLists.HotLists.ProcessRead(read);
                }
            }
            base.OnUpdating(ev);
        }