"Cut in" to a Random Stream point?

I’m making heavy use of random streams for specific things in my game, and one thing I’m curious about is whether or not there’s a sensible way of “caching” a position in a random stream and resuming the stream from that point.

For example, let’s say I have a random stream which causes a series of random events; each event polls the stream, gets the number that dictates how it plays out, and on we go. Now, I want to find a way to save and return to the state of this series of events midway through; for example, suppose I do 20 events in a row, and then I want to restart from the 10th event. I’d like events 10-20 to play out exactly as they did BEFORE. But given that the only value I have access to for the random stream is the initial seed, it seems like there’s no way for me to do this other than to restart the stream from the initial seed, and then systematically “quiet call” events 1-9 just to re-increment the stream to the place where I want it to be?

Is there some way to query/pull the current “position” of the random stream? Presumably each time you call it, it uses its output to re-seed itself (so if you only used it to generate random ints, you could use the last int output as the new seed…?), but it only takes an int for an input no matter what type of output it generates so even that’s not helpful.