private boolean createHandlerRefsAndSymbols() throws CancelledException {
		monitor.setMessage("Creating catch handler markup");
		Program program = model.getProgram();
		boolean result = true;
		EHCatchHandlerModel catchHandlerModel = createModel(program);
		for (int catchHandlerOrdinal = 0; catchHandlerOrdinal < count; catchHandlerOrdinal++) {
			monitor.checkCancelled();
			Address compAddress;
			Address refAddress;
			try {
				compAddress =
					catchHandlerModel.getComponentAddressOfCatchHandlerAddress(catchHandlerOrdinal);
				refAddress = catchHandlerModel.getCatchHandlerAddress(catchHandlerOrdinal);
			}
			catch (InvalidDataTypeException e) {
				throw new AssertException(e); // Shouldn't happen. create...() is only called if model is valid.
			}
			if (refAddress == null) {
				continue; // No catch handler for this HandlerType record.
			}
			if (applyOptions.shouldCreateLabel()) {
				String catchHandlerName;
				try {
					catchHandlerName = catchHandlerModel.getCatchHandlerName(catchHandlerOrdinal);
					Symbol symbol = EHDataTypeUtilities.createSymbolIfNeeded(program,
						catchHandlerName, refAddress);
					if (symbol == null) {
						result = false;
					}
				}
				catch (InvalidDataTypeException | InvalidInputException e) {
					String message =
						"Couldn't create name for catch handler at " + refAddress.toString() + ".";
					handleErrorMessage(program, compAddress, message + " " + e.getMessage(),
						message);
					result = false;
				}
			}
			if (applyOptions.shouldCreateFunction()) {
				boolean success = EHDataTypeUtilities.createFunctionIfNeeded(program, refAddress);
				if (!success) {
					result = false;
				}
			}
		}
		return result;
	}
Creates data references to the catch handler function and based on options it creates a 
label for the catch handler function, disassembles it, and creates the function.
@param program the program where this command is creating references and symbols.
@param monitor the task monitor for cancelling creation of the catch handler reference,
label, and function.
@return true if successful.
@throws CancelledException if the user cancels this task.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/exceptionhandling/CreateEHCatchHandlerMapBackgroundCmd.java