private void addMissingDyldCacheComponent(ProgramLocation location, TaskMonitor monitor) {
		Program program = location.getProgram();
		Address address = location.getRefAddress();
		if (address == null) {
			AskAddrDialog dialog = new AskAddrDialog(name, "Enter address", program, null);
			if (dialog.isCanceled()) {
				return;
			}
			address = dialog.getValueAsAddress();
		}
		if (address.getAddressSpace().isExternalSpace()) {
			Msg.showInfo(this, null, name, "External locations are not currently supported");
			return;
		}
		if (program.getMemory().contains(address)) {
			Msg.showInfo(this, null, name,
				"Address %s already exists in memory".formatted(address));
			return;
		}

		try (FileSystemRef fsRef = DyldCacheExtractLoader.openDyldCache(program, monitor)) {
			DyldCacheFileSystem fs = (DyldCacheFileSystem) fsRef.getFilesystem();
			long offset = address.getOffset();
			String fsPath = fs.findAddress(offset);
			if (fsPath != null) {
				ImporterUtilities.showAddToProgramDialog(fs.getFSRL().appendPath(fsPath), program,
					tool, monitor);
			}
			else {
				Msg.showInfo(this, null, name,
					"Address %s not found in %s".formatted(address, fs.toString()));
			}
		}
		catch (CancelledException e) {
			// Do nothing
		}
		catch (IOException e) {
			Msg.showError(this, null, name, e.getMessage(), e);
		}
	}
Attempts to add the DYLD Cache component that resides at the given {@link ProgramLocation}'s
"referred to" address

@param location The {@link ProgramLocation} where the action took place
@param monitor A {@link TaskMonitor}
Ghidra/Features/FileFormats/src/main/java/ghidra/macosx/plugins/DyldCacheBuilderPlugin.java