Let me try my best to explain my problem, well, say we have a `Random` class constructed with a specific seed. At this point we can use the `.next()` methods to get the next value derived from the seed.

I seem to need a way to get values from this sequence, but not in order. For example, if Random had a method like `.get(X)` which would return whatever the value would be on the Xth invocation of `.next()`.

One way I can think of is to use a `for` loop X times, calling `.next()` on each cycle but not assigning a variable. This won't work well because of A. performance and B. it leaves the Random sequence at X, meaning if your next X is less than the original X, you'll have to reconstruct the `Random`.

Here's another way I thought of to solve this problem. Maybe you can derive a temporary new seed from the old seed and X, invoke `next()` one time and store the value, and then return the `Random` to its original seed. I don't know the typical way of getting this new seed out of two values, probably some crazy bitwise operations. All of my experimenting with this method has not been sufficiently random.

Well, thanks for helping!