@Override
	public ByteProvider getByteProvider(GFile file, TaskMonitor monitor)
			throws CancelledException, IOException {
		DyldCacheEntry entry = fsIndex.getMetadata(file);
		if (entry == null) {
			return null;
		}

		if (slideFixupMap == null) {
			slideFixupMap = DyldCacheExtractor.getSlideFixups(splitDyldCache, monitor);
		}

		if (!parsedLocalSymbols) {
			for (int i = 0; i < splitDyldCache.size(); i++) {
				splitDyldCache.getDyldCacheHeader(i)
						.parseLocalSymbolsInfo(true, new MessageLog(), monitor);
			}
			parsedLocalSymbols = true;
		}

		try {
			if (entry.mappingInfo() != null) {
				return DyldCacheExtractor.extractMapping(entry,
					getComponentName(entry.mappingAndSlideInfo()), splitDyldCache, slideFixupMap,
					file.getFSRL(), monitor);
			}
			return DyldCacheExtractor.extractDylib(entry, splitDyldCache, slideFixupMap,
				file.getFSRL(), monitor);
		}
		catch (MachException e) {
			throw new IOException("Invalid Mach-O header detected at: " + entry);
		}
	}
Mounts this file system

@param monitor {@link TaskMonitor}
@throws IOException If there was an issue mounting the file system
@throws MachException if there was an error parsing a DYLIB header
@throws CancelledException If the user cancelled the operation
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/dyldcache/DyldCacheFileSystem.java