public TraceSchedule patched(TraceThread thread, Language language, List<String> sleigh) {
		if (!this.pSteps.isNop()) {
			Sequence pTicks = this.pSteps.clone();
			for (String line : sleigh) {
				pTicks.advance(new PatchStep(thread.getKey(), line));
			}
			pTicks.coalescePatches(language);
			return new TraceSchedule(snap, steps.clone(), pTicks, Source.INPUT);
		}
		Sequence ticks = this.steps.clone();
		for (String line : sleigh) {
			ticks.advance(new PatchStep(thread.getKey(), line));
		}
		ticks.coalescePatches(language);
		return new TraceSchedule(snap, ticks, new Sequence(), Source.RECORD);
	}
Returns the equivalent of executing this schedule then performing the given patches

@param thread the thread context for the patch; cannot be null
@param language the sleigh language for the patch
@param sleigh the lines of sleigh, excluding the terminating semicolons
@return the resulting schedule
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/time/schedule/TraceSchedule.java