public void finish(PcodeFrame frame, PcodeUseropLibrary<T> library) {
		try {
			while (!frame.isFinished()) {
				step(frame, library);
			}
		}
		catch (PcodeExecutionException e) {
			if (e.frame == null) {
				e.frame = frame;
			}
			throw e;
		}
	}
Finish execution of a frame

<p>
TODO: This is not really sufficient for continuation after a break, esp. if that break occurs
within a nested call back into the executor. This would likely become common when using pCode
injection.

@param frame the incomplete frame
@param library the library of userops to use
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/PcodeExecutor.java