@Override
	public CodeBlockReferenceIterator getDestinations(CodeBlock block, TaskMonitor monitor) throws CancelledException {
        // destinations of Fallthroughs are the follow on block
        //    destinations of all others are the instruction's operand referents

        // Call way:
        //   for each operand
        //      get it's type
        //      for each one that references code
        //         get all its references
        //            add those references to the iterator
        // more complex:
        //    destinations of all others are the instruction's operand referents
        //       could probably get this out of the symbol table using getReferentAt(address)

        // problem: can't assume that a fallthrough actually falls through to valid block
        //          nor that any destination is a good destination unless the instruction
        //          is looked at.

        if (!(block.getModel() instanceof OverlapCodeSubModel)) {
			throw new IllegalArgumentException();
		}

        return new SubroutineDestReferenceIterator(block, monitor);
    }
@see ghidra.program.model.block.CodeBlockModel#getDestinations(ghidra.program.model.block.CodeBlock, ghidra.util.task.TaskMonitor)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/block/OverlapCodeSubModel.java