protected static AssemblyParseMachine findLoop(AssemblyParseMachine machine,
			Collection<AssemblyParseMachine> visited) {
		for (AssemblyParseMachine v : visited) {
			if (v == machine) {
				continue;
			}
			if (v.pos != machine.pos) {
				continue;
			}
			if (!v.stack.equals(machine.stack)) {
				continue;
			}
			return v;
		}
		return null;
	}
Look for previous machine states having the same stack and position

<p>
This would imply we have gone in a loop without consuming anything. We need to prune.

@param machine the machine state to check
@param visited the stack of previous machine states
@return if there is a loop, the machine state proving it, null otherwise
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/parse/AssemblyParseMachine.java