@Override
	public CodeBlock getFirstCodeBlockContaining(Address addr, TaskMonitor monitor)
			throws CancelledException {
		CodeBlock[] blocks = getCodeBlocksContaining(addr, monitor);
		if (blocks.length != 0) {
			return blocks[0];
		}
		return null;
	}
Get the (first) Model-P subroutine that contains the address.
This is equivalent to getCodeBlocksContaining(addr) except that
it doesn't return an array since model-P subroutines don't share code.

@param addr   Address to find a containing block.
@param monitor task monitor which allows user to cancel operation.
@return A CodeBlock if any block contains the address.
        empty array otherwise.
@throws CancelledException if the monitor cancels the operation.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/block/PartitionCodeSubModel.java