ensure that user does not have to call #hasNext() before #next()