JitPassage finish() {
		strides.sort(Comparator.comparing(DecodedStride::start));
		List<PcodeOp> code = strides.stream().flatMap(b -> b.ops().stream()).toList();
		List<Instruction> instructions =
			strides.stream().flatMap(b -> b.instructions().stream()).toList();
		Map<PcodeOp, PBranch> branches = otherBranches;
		branches.putAll(internalBranches);
		for (RExtBranch eb : externalBranches.values()) {
			if (!eb.reach().canReachWithoutCtxMod()) {
				branches.put(eb.from(), eb);
			}
			PcodeOp to = firstOps.get(eb.to());
			if (to != null) {
				branches.put(eb.from(), eb.toIntBranch(to));
			}
			else {
				branches.put(eb.from(), eb);
			}
		}
		return new JitPassage(decoder.thread.getLanguage(), seed, code, decoder.library,
			instructions, branches, MapUtils.invertMap(firstOps));
	}
Sort out the result and create the decoded passage

<p>
The strides are sorted by their seeds (contextreg value then address), and their code
concatenated together. The various types of branches are also all combined. (They can still
be distinguished by type.) {@link ExtBranch} records are converted to {@link IntBranch}
records where possible.

@return the passage
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/emu/jit/decode/DecoderForOnePassage.java