public static File resolveFileCaseSensitive(File caseSensitiveFile) {
		String canonicalName = null;
		try {
			File canonicalFile = caseSensitiveFile.getCanonicalFile();
			canonicalName = canonicalFile.getName();
		}
		catch (IOException ioe) {
			// The File had bad characters in the name that the Filesystem doesn't like.
			// Fall thru with null value, caller will get original File back as result
			// and they can deal with IOException errors when they try to use it.
		}

		String caseSensitiveName = caseSensitiveFile.getName();
		return (canonicalName != null) && canonicalName.equalsIgnoreCase(caseSensitiveName) &&
			!canonicalName.equals(caseSensitiveName) ? null : caseSensitiveFile;
	}
Ensures that the specified {@link File} param points to a file on the filesystem with a
filename that has the exact same character case as the filename portion of the
specified File.
<p>
This does not ensure that the path components are case-sensitive.
<p>
If the specified File and filesystem file do not match case a NULL is returned,
otherwise the original File parameter is returned.
<p>
This method is useful on OS's that have filesystems that are case-insensitive and allow
using File("A") to open real file "a", and you do not wish to allow this.
<p>
If the specified file being queried is a symbolic link to a file with a different name,
no case sensitivity checks are done and the original specified File param is returned
unchanged.
<p>
(Put another way: symlink "FILE1" -&gt; "../path/file2", no case sensitive enforcing can be done,
but symlink "FILE1" -&gt; "../path/file1" will be enforced by this method.)
<p>
Querying a filepath that does not exist will result in a 'success' and the caller will
receive the non-existent File instance back.

@param caseSensitiveFile {@link File} to enforce case-sensitive-ness of the name portion
@return the same {@link File} instance if it points to a file on the filesystem with
the same case, or a NULL if the case does not match.
Ghidra/Framework/Utility/src/main/java/utilities/util/FileUtilities.java