Hello, I'm wondering whether anybody knows a good way to use MASON for the rare event simulation technique known as "splitting". For those who don't know what this is, you can find references by doing a web search with the search terms "rare event simulation" and "splitting". Briefly, however, the technique involves identifying certain system states reached during a simulation--let's call them "split points"--from which it is desirable to run multiple continuations of the simulation with different random choices controlling the events after the split point in each continuation. Within each continuation, zero or more further split points might be chosen. A key issue is how to restore the simulation state to a split point after simulating one continuation and before simulating another. In the kinds of simulations for which splitting is typically applied, many thousands--perhaps millions--of split points may be chosen during a simulation run, so checkpointing seems likely to be an inefficient solution. (I'd be pleasantly surprised to learn otherwise.) Assuming that it's the user's responsibility to provide an extension of SimState that can be backtracked (either by recording and restoring state informaion or by recording and undoing sequences of state change operations), there remains the issue of restoring the state of the schedule. The "Schedule" class doesn't implement "Cloneable". And restoring scheduler state by undoing changes seems problematic both because there's no support for deleting scheduled events, and because there's no way short of "reset" to revert the current time. I suppose I could think of kludges to work around all this, but I don't want to invent a square wheel if someone already has a round one. Thanks for whatever advice anyone can offer. Regards, --Jim