private void AddCategoryPermisssion(int categoryID, Permission permission, CategoryTree tree) { if (_storage.ContainsKey(categoryID)) { if (_storage[categoryID] < permission) { _storage[categoryID] = permission; } } else { _storage.Add(categoryID, permission); } foreach (var child in tree.GetChild(categoryID)) { AddCategoryPermisssion(child, permission, tree); } }