@Nonnull
	public static Path follow(Path path) throws IOException {
		try {
			if (isPotentialValidLink(path)) {
				path = path.getFileSystem().getPath(new ShortcutUtil(path).getRealFilename());
			}
			int symLevel = 0;
			while (Files.isSymbolicLink(path) && symLevel < 5) {
				path = Files.readSymbolicLink(path);
				symLevel++;
			}
			return path;
		} catch (ParseException ex) {
			throw new IOException("Failed to parse shortcut/sym-link for path: " + path, ex);
		}
	}
@param path
		Path to follow.

@return Target of shortcut/symbolic link.

@throws IOException
		When the shortcut could not be parsed.
recaf-core/src/main/java/software/coley/recaf/util/ShortcutUtil.java