implements AbstractCartesianIterator