@Override
	protected FSRL resolveLibraryFile(GFileSystem fs, String library) throws IOException {
		FSRL fsrl = super.resolveLibraryFile(fs, library);
		if (fsrl != null) {
			return fsrl;
		}
		String libraryParentPath = FilenameUtils.getFullPath(library);
		String libraryName = FilenameUtils.getName(library);
		GFile libraryParentDir = fs.lookup(libraryParentPath);
		if (libraryParentDir != null) {
			for (GFile file : fs.getListing(libraryParentDir)) {
				if (file.isDirectory() && file.getName().equals("Versions")) {
					String versionsPath = joinPaths(libraryParentPath, file.getName());
					List<GFile> versionListion = fs.getListing(file);
					if (!versionListion.isEmpty()) {
						GFile specificVersionDir = versionListion.get(0);
						if (specificVersionDir.isDirectory()) {
							return resolveLibraryFile(fs,
								joinPaths(versionsPath, specificVersionDir.getName(), libraryName));
						}
					}
				}
				else if (file.isDirectory()) {
					continue;
				}
				if (file.getName().equals(libraryName)) {
					return file.getFSRL();
				}
			}
		}
		return null;
	}
Special Mach-O library file resolver to account for a "Versions" subdirectory being inserted
in the library lookup path.  For example, a reference to:
<p>
{@code /System/Library/Frameworks/Foundation.framework/Foundation}
<p>
might be found at:
<p>
{@code /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation}
<hr>
{@inheritDoc}
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MachoLoader.java