public List<Book> Find(BookNameCondition nameCondition, 
     PublishInfoCondition publishInfoCondition)
 {
     return m_books.Where(book =>
         nameCondition.IsMatch(book)
         && publishInfoCondition.IsMatch(book)).ToList();
 }
 public List<Book> Find(PublishInfoCondition publishInfoCondition)
 {
     return m_books.Where(publishInfoCondition.IsMatch).ToList();
 }