public synchronized GFile resolveSymlinks(GFile file) throws IOException {
		FileData<METADATATYPE> fd = getFileData(file);
		if (fd.symlinkPath != null) {
			fd = lookup(getParentFileData(fd), splitPath(fd.symlinkPath), -1, false, true, 0, null,
				null);
		}
		return fd != null ? fd.file : null;
	}
If supplied file is a symlink, converts the supplied file into the targeted file, otherwise
just returns the original file.
  
@param file {@link GFile} to convert
@return symlink targeted {@link GFile}, or original file it not a symlink, or null if
symlink path was invalid or reached outside the bounds of this file system
@throws IOException if symlinks are nested too deeply
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/FileSystemIndexHelper.java