public virtual void ChangePositionInQueue(Book book, int newPosition) { Queue.Remove(book); Queue.Insert(newPosition, book); // add any other business logic related to shifting position in queue }