// Allows to vary the order by supplying a seed sclass WeightlessShuffledIteratorWithSeed extends WeightlessShuffledIterator { final int mask, seed; *(L list) { this(list, 0); } *(L *list, int *seed) { super(list); mask = (1 << bits())-1; } int postProcessLSFRValue(int i) { ret (i+seed) & mask; } }