Sequence checkFinish(TraceThread thread, PcodeMachine<?> machine) {
		PcodeThread<?> emuThread = machine.getThread(thread.getPath(), true);
		if (emuThread.getFrame() == null) {
			return this;
		}
		Sequence result = new Sequence(new ArrayList<>(steps));
		emuThread.finishInstruction();
		if (result.steps.get(0).rewind(1) == 0) {
			result.steps.remove(0);
		}
		return result;
	}
Check if the first instruction step is actually to finish an incomplete instruction.

@param thread the thread whose instruction to potentially finish
@param machine a machine bound to the trace whose current state reflects the given position
@return if a finish was performed, this sequence with one initial step removed, i.e., a
        sequence representing the steps remaining
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/time/schedule/Sequence.java