public TraceThread execute(Trace trace, TraceThread eventThread, PcodeMachine<?> machine,
			Stepper stepper, TaskMonitor monitor) throws CancelledException {
		TraceThreadManager tm = trace.getThreadManager();
		TraceThread thread = eventThread;
		for (Step step : steps) {
			thread = step.execute(tm, thread, machine, stepper, monitor);
		}
		return thread;
	}
Execute this sequence upon the given machine

<p>
Threads are retrieved from the database by key, then created in the machine (if not already
present) named by {@link TraceThread#getPath()}. The caller should ensure the machine's state
is bound to the given trace.

@param trace the trace to which the machine is bound
@param eventThread the thread for the first step, if it applies to the "last thread"
@param machine the machine to step, or null to validate the sequence
@param stepper the actions to step each thread
@param monitor a monitor for cancellation and progress reports
@return the last trace thread stepped during execution
@throws CancelledException if execution is cancelled
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/time/schedule/Sequence.java