public override IEnumerable <IBook> GetBooksFromCollection(Ability ability) { IEnumerable <IBook> books = _booksOwned.Where(b => b.Topic == ability); if (Covenant != null) { books = books.Union(Covenant.GetLibrary(ability)); } return(books); }