*currentPosition*= 0, some random step size, etc. the first call to GetNext advances

*currentPosition*to its first step, essentially a random element) and returns that. Continues until

*searches*reaches the prime number for the set, at which point it has made a full cycle through the data, bringing it back to the starting point, index 0.

I've fixed this in my code, by simply starting

*currentPosition*at a random location in the set.

Does this sound about right, or did I miss something here?