public bool Load(FileList fileList, IDnSpyFileLoader dnSpyFileLoader) { const bool isReload = false; if (dnSpyFileLoader == null) { dnSpyFileLoader = new DefaultDnSpyFileLoader(fileTabManager.FileTreeView.FileManager); } if (!CanLoad) { return(false); } if (!CheckCanLoad(isReload)) { return(false); } if (fileList != fileListManager.SelectedFileList) { SaveCurrentFilesToList(); } NotifyBeforeLoad(isReload); using (DisableSaveToList()) { fileTabManager.CloseAll(); fileTabManager.FileTreeView.FileManager.Clear(); dnSpyFileLoader.Load(fileList.Files.Select(a => new FileToLoad(a))); } NotifyAfterLoad(isReload); GC.Collect(); GC.WaitForPendingFinalizers(); return(true); }