@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

		// simple 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 == null) {
			return null;
		}

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

		return new SimpleDestReferenceIterator(block, followIndirectFlows, monitor);
	}
Get an iterator over destination blocks flowing from this block.

@param block code block to get the destination block iterator for.
@param monitor task monitor which allows user to cancel operation.
@throws CancelledException if the monitor cancels the operation.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/block/SimpleBlockModel.java