This is not good, as -1 could be a rating in some context (Think +1 / -1). Throw NoSuchElementException like iterators do?