Must step() when seek()'ing, not skipForward().  skipForward() deliberately skips over hidden items, which can cause the loop to never terminate.