In reply to hsam:
Just some thoughts
Actually in general this is the sole purpose of Virtual sequence - it controls, arbitrates the sequences. And of course one sequence can have affect on the 2nd sequence.
For example assume 1st sequence is system init and 2nd sequence is system write.
So if there as error during system init than no need to write in the system.
We can make this in virtual sequence assuming that system init and system read are implemented by different agents.
If single agent is doing this, than we can make this is top level sequence.