@Override
	public CompareResult compareStep(Step step) {
		CompareResult result;

		result = compareStepType(step);
		if (result != CompareResult.EQUALS) {
			return result;
		}

		PatchStep that = (PatchStep) step;
		result = CompareResult.unrelated(Long.compare(this.threadKey, that.threadKey));
		if (result != CompareResult.EQUALS) {
			return result;
		}

		// Compare ops, if/when we pre-compile?
		result = CompareResult.unrelated(this.sleigh.compareTo(that.sleigh));
		if (result != CompareResult.EQUALS) {
			return result;
		}

		return CompareResult.EQUALS;
	}
Generate multiple lines of Sleigh, all to set a single variable

@param language the target language
@param address the (start) address of the variable
@param data the bytes to write to the variable
@return the lines of Sleigh code
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/time/schedule/PatchStep.java