public TraceSchedule advanced(TraceSchedule next) {
		if (this.pSteps.isNop()) {
			Sequence ticks = this.steps.clone();
			ticks.advance(next.steps);
			return new TraceSchedule(this.snap, ticks, next.pSteps.clone(), next.source);
		}
		else if (next.steps.isNop()) {
			Sequence pTicks = this.pSteps.clone();
			pTicks.advance(next.pSteps);
			return new TraceSchedule(this.snap, this.steps.clone(), pTicks, Source.INPUT);
		}
		throw new IllegalArgumentException("Cannot have instructions steps following p-code steps");
	}
Compute the schedule resulting from this schedule advanced by the given schedule

<p>
This operation cannot be used to append instruction steps after p-code steps. Thus, if this
schedule contains any p-code steps and {@code next} has instruction steps, an error will be

@param next the schedule to append. Its snap is ignored.
@return the complete schedule
@throws IllegalArgumentException if the result would have instruction steps following p-code
            steps
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/time/schedule/TraceSchedule.java