@Override
	public byte readByte(long index) throws IOException {
		if (!mappingInfo.contains(index, false)) {
			return origProvider.readByte(index);
		}
		Map<Long, DyldFixup> fixups = slideFixupMap.get(mappingInfo);
		if (fixups == null) {
			return origProvider.readByte(index);
		}
		long aligned = index & ~3;
		DyldFixup fixup = fixups.get(aligned);
		if (fixup == null) {
			aligned = index & ~7;
			fixup = fixups.get(aligned);
			if (fixup != null && fixup.size() != 8) {
				fixup = null;
			}
		}
		if (fixup == null) {
			return origProvider.readByte(index);
		}
		return (byte) (fixup.value() >> ((index - aligned) * 8));
	}
Creates a new {@link DyldCacheSlidProvider}

@param mappingInfo The {@link DyldCacheMappingInfo} that is being requested
@param splitDyldCache The {@link SplitDyldCache}
@param splitCacheIndex The mapping's {@link SplitDyldCache} index
@param slideFixupMap A {@link Map} of {@link DyldFixup}s to perform
@param monitor A {@link TaskMonitor} to monitor the reads
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/dyldcache/DyldCacheSlidProvider.java