private void addDestinations(TaskMonitor monitor, LinkedList<Address> todoList,
			CodeBlock bblock) throws CancelledException {
		CodeBlockReferenceIterator destIter = bblock.getDestinations(monitor);
		while (destIter.hasNext()) {
			CodeBlockReference destRef = destIter.next();
			// Add Jump and Fall-through destinations to the todoList
			Address destAddr = destRef.getDestinationAddress();
			if (destAddr.isMemoryAddress()) {
				FlowType refFlowType = destRef.getFlowType();
				if (refFlowType.isJump()) {
					todoList.addLast(destAddr);
				}
				else if (refFlowType.isFallthrough()) {
					todoList.addFirst(destAddr);
				}
			}
		}
	}
Get the M-Model subroutine address set which contains the specified address.
This method also identifies the entry points and caches the resulting CodeBlock.

@param   addr    Address inside the subroutine that we are seeking
@param monitor task monitor which allows user to cancel operation.
@return          The <CODE>CodeBlock</CODE> for a
                 <CODE>MultEntSubModel</CODE> Subroutine.
					Null is returned if there is no instruction at addr.
@throws CancelledException if the monitor cancels the operation.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/block/MultEntSubModel.java