Instead of overriding `iterator` here could we add a method called `sortedIterator`? It will be less confusing.