private GFileImpl storeFile(GFileImpl file, MachoPrelinkMap info) {
		if (file == null) {
			return file;
		}
		if (file.equals(root)) {
			return file;
		}

		if (systemKextFile == null && file.getName().equals(SYSTEM_KEXT)) {
			systemKextFile = file;
			fileToMachoOffsetMap.put(file, 0L);
		}

		// If 'file' was already added to the map a file and now we see it is really a directory,
		// we need to fix that up.  Similarly, if 'file' was already added to the map as a directory
		// because of the recursive nature of this method (parents will always be treated as
		// directories), we need to maintain its directory status in the map.
		GFileImpl asFile =
			GFileImpl.fromFSRL(this, file.getParentFile(), file.getFSRL(), false, file.getLength());
		GFileImpl asDir =
			GFileImpl.fromFSRL(this, file.getParentFile(), file.getFSRL(), true, file.getLength());
		GFileImpl ret = file;
		if (fileToPrelinkInfoMap.containsKey(asDir) && fileToPrelinkInfoMap.get(asDir) == null) {
			fileToPrelinkInfoMap.put(asDir, info);
			ret = asDir;
		}
		else if (fileToPrelinkInfoMap.containsKey(asFile) &&
			fileToPrelinkInfoMap.get(asFile) != null && file.isDirectory()) {
			MachoPrelinkMap value = fileToPrelinkInfoMap.remove(asFile);
			fileToPrelinkInfoMap.put(asDir, value);
			Long offset = fileToMachoOffsetMap.remove(asFile);
			fileToMachoOffsetMap.put(asDir, offset);
			ret = asDir;
		}
		else if (fileToPrelinkInfoMap.get(file) == null) {
			fileToPrelinkInfoMap.put(file, info);
		}

		GFile parentFile = file.getParentFile();
		storeFile((GFileImpl) parentFile, null);
		return ret;
	}
Processes PRELINK and Macho-O offsets in order to map files to their Mach-O offsets in the 
providers.

@param prelinkList The list of discovered {@link MachoPrelinkMap}s.
@param machoHeaderOffsets The list of provider offsets where prelinked Mach-O headers start.
@param monitor A monitor
@throws IOException if an IO-related problem occurred.
@throws MachException if there was a problem parsing Mach-O headers.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/prelink/MachoPrelinkFileSystem.java