public virtual void RemoveFromQueue(Book book)
{
Queue.Remove(book);
// if it was on the queue, it probably means that the user
// might want to read it again, so let us recommend it
Recommendations.Add(book);
// add any other business logic related to removing book from queue
}