you can't count on same iterator you use and no need to cast iterator elements (nw)