public void MarkNotDirty() { Locker.Invoke(() => { foreach (MruItem o in Btree.MruManager.Values) { for (int i = 0; i < ((BTreeNodeOnDisk)o.Value).Count; i++) { object f = ((BTreeNodeOnDisk)o.Value).Slots[i].Value.Data; if (f is File) { ((File)f).MarkNotDirty(); } } } for (int i = 0; i < Btree.RootNode.Count; i++) { if (Btree.RootNode.Slots[i].Value.Data is File) { ((File)Btree.RootNode.Slots[i].Value.Data).MarkNotDirty(); } } Btree.IsUnloading = true; }); }