public void AddBook(Book book) { if (book == null) { throw new ArgumentNullException("book"); } var availableBookSet = GetFirstAvailableBookSet(book); if (availableBookSet == null) { availableBookSet = new BookSet(); _bookSets.Add(availableBookSet); } availableBookSet.AddBook(book); }