public virtual void DeleteDirectory(string path, bool recursive = false) { foreach (var file in Paths.Keys.ToList()) { if (file.StartsWith(path)) { Paths.Remove(file); } } Deleted.Add(path); }