Why do we need a reverseIterator here in the first place?