@Override
	public CodeBlock getCodeBlockAt(Address addr, TaskMonitor monitor) throws CancelledException {

        // First check out the Block cache
        CodeBlock block = foundOSubs.getBlockAt(addr);
        if (block != null) {
            return block;
        }

        CodeBlock modelMSub = modelM.getCodeBlockAt(addr, monitor);
        if (modelMSub != null) {
            Address[] entPts = modelMSub.getStartAddresses();
            if (entPts.length == 1){
                return createSub(modelMSub, addr);
            }
            return getSubroutine(addr, monitor);
        }
        return null;
    }
@see ghidra.program.model.block.CodeBlockModel#getCodeBlockAt(ghidra.program.model.address.Address, ghidra.util.task.TaskMonitor)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/block/OverlapCodeSubModel.java