public void PurgeFolders(UUID userId, IEnumerable <UUID> folderIds) { //this is a very uncommon operation, and normamly will only be executed //when a user selects individual items from their trash to purge //therefore, we will grab each folder individually List <InventoryFolderBase> folders = new List <InventoryFolderBase>(); foreach (UUID id in folderIds) { InventoryFolderBase folder = _storage.GetFolderAttributes(id); if (folder != null) { if (folder.Owner != userId) { throw new InventorySecurityException(String.Format("Not purging folder {0} for user {1}. User does not own the folder", folder.ID, userId)); } folders.Add(folder); } } _storage.PurgeFolders(folders); }