public AddressSetView disasemble(Address seed, TaskMonitor monitor) throws CancelledException {
		ReDisState state = new ReDisState(monitor);
		state.addSeed(seed);
		InstructionSet set = state.disassemble();
		for (AddressRange range : set.getAddressSet()) {
			listing.clearCodeUnits(range.getMinAddress(), range.getMaxAddress(), true, monitor);
		}
		state.writeContext();
		try {
			listing.addInstructions(set, false);
		}
		catch (CodeUnitInsertionException e) {
			Msg.error(this, "Could not overwrite with re-disassembly", e);
		}
		return set.getAddressSet();
	}
Parse the next instructions, including delay-slotted ones

@param flow the {@link Flow}
@return the if the first instruction has fall-through, the flow out from the last
        instruction parsed. Without delay slots, the first instruction is the last
        instruction.
@throws CancelledException
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/ReDisassembler.java