This is a feature that sounds like it would be really useful but in practice is only occasionally useful. Say we have 2 states A and B, and A has substates A1, ..., An.
After a transition from some substate of A to B (maybe the transition represents a transitory error condition), we want to be able to return to the same substate of A when the original condition is cleared. A HistoryTransition? is the mechanism for doing this.
The reason this is not quite as useful as it seems at first glance is that very often some of A 's substates will be ones that are waiting for a response from an external entity, after having sent a request to that entity from a different substate of A. In that case you probably don't want to just go back to waiting - you probably want to reissue the request.
-- DaleBrayden - 16 Jul 2002