will this handle size == 0 properly? or do we not wind up in this iterator in this case?