@Override
	protected void loadProgramInto(ByteProvider provider, LoadSpec loadSpec,
			List<Option> options, MessageLog log, Program program, TaskMonitor monitor)
			throws IOException, LoadException, CancelledException {
		FSRL fsrl = provider.getFSRL();
		Group[] children = program.getListing().getDefaultRootModule().getChildren();
		if (Arrays.stream(children).anyMatch(e -> e.getName().contains(fsrl.getPath()))) {
			log.appendMsg("%s has already been added".formatted(fsrl.getPath()));
			return;
		}
		try {
			FileBytes fileBytes = MemoryBlockUtils.createFileBytes(program, provider, monitor);
			MachoExtractProgramBuilder.buildProgram(program, provider, fileBytes, true, log,
				monitor);
			addOptionalComponents(program, options, log, monitor);
		}
		catch (CancelledException e) {
			return;
		}
		catch (IOException e) {
			throw e;
		}
		catch (Exception e) {
			throw new IOException(e);
		}
	}
A {@link Loader} for components extracted by Ghidra from a DYLD Cache
Ghidra/Features/FileFormats/src/main/java/ghidra/app/util/opinion/DyldCacheExtractLoader.java