otoh, I wonder if maybe it would be nicer to just have two separate iterator methods and not have this mega method ;)