public static Map<DyldCacheMappingInfo, Map<Long, DyldFixup>> getSlideFixups(
			SplitDyldCache splitDyldCache, TaskMonitor monitor)
			throws CancelledException, IOException {
		Map<DyldCacheMappingInfo, Map<Long, DyldFixup>> slideFixupMap = new HashMap<>();
		MessageLog log = new MessageLog();

		for (int i = 0; i < splitDyldCache.size(); i++) {
			DyldCacheHeader header = splitDyldCache.getDyldCacheHeader(i);
			ByteProvider bp = splitDyldCache.getProvider(i);
			DyldArchitecture arch = header.getArchitecture();
			for (DyldCacheSlideInfoCommon slideInfo : header.getSlideInfos()) {
				DyldCacheMappingInfo mappingInfo = slideInfo.getMappingInfo();
				try (ByteProvider wrapper = new ByteProviderWrapper(bp, mappingInfo.getFileOffset(),
					mappingInfo.getSize())) {
					BinaryReader wrapperReader =
						new BinaryReader(wrapper, !arch.getEndianness().isBigEndian());
					List<DyldFixup> fixups = slideInfo.getSlideFixups(wrapperReader,
						arch.is64bit() ? 8 : 4, log, monitor);
					HashMap<Long, DyldFixup> subMap = new HashMap<>();
					for (DyldFixup fixup : fixups) {
						subMap.put(mappingInfo.getFileOffset() + fixup.offset(), fixup);
					}
					slideFixupMap.put(mappingInfo, subMap);
				}
			}
		}

		return slideFixupMap;
	}
Gets a {@link Map} of {DyldCacheSlideInfoCommon}s to their corresponding {@link DyldFixup}s

@param splitDyldCache The {@link SplitDyldCache}
@param monitor {@link TaskMonitor}
@return A {@link Map} of {DyldCacheSlideInfoCommon}s to their corresponding 
  {@link DyldFixup}s
@throws CancelledException If the user cancelled the operation
@throws IOException If there was an IO-related issue with getting the slide fixups
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/dyldcache/DyldCacheExtractor.java