LibraryItem Iterator design pattern