synchronized static ResourceFile getExistingExtensionedFile(String dllName, String extension,
			int size) {

		String strippedExtensionFilename =
			stripPossibleExtensionFromFilename(dllName).toLowerCase() + extension;
		String extensionFilename = dllName.toLowerCase() + extension;

		ResourceFile userDir = createUserResourceDir(size);
		if (userDir != null) {
			ResourceFile[] userFiles = userDir.listFiles();
			if (userFiles != null) {
				for (ResourceFile currFile : userFiles) {
					String currFileName = currFile.getName();

					if (currFileName.equalsIgnoreCase(strippedExtensionFilename) ||
						currFileName.equalsIgnoreCase(extensionFilename)) {
						return currFile;
					}
				}
			}
		}

		ResourceFile systemDir = getSystemResourceDir(size);
		if (systemDir != null) {
			ResourceFile[] systemFiles = systemDir.listFiles();
			if (systemFiles != null) {
				for (ResourceFile currFile : systemFiles) {
					String currFileName = currFile.getName();

					if (currFileName.equalsIgnoreCase(strippedExtensionFilename) ||
						currFileName.equalsIgnoreCase(extensionFilename)) {
						return currFile;
					}
				}
			}
		}

		return null;
	}
Get the symbol table associated with the DLL name.  If not previously
generated for the given dllName, it will be constructed from a .exports
file found within the 'symbols' resource area.  If a .exports file
is not found a similarly named .ord file will be used if found.  The 
.exports file is a Ghidra XML file formatted file, while the .ord file
is produced with the Visual Studio DUMPBIN /EXPORTS command.  The default 
resource area is located within the directory
<pre>
  Ghidra/Features/Base/data/symbols/[win32|win64]
</pre>
Alternatively, a user specific resource directory may be used which 
is located at 
<pre>{@code
  <user settings>/symbols/[win32|win64]
}</pre>
The cacheMap is a static cache which always returns the same
instance for a given DLL name.

@param dllName The DLL name (including extension)
@param size The architecture size of the DLL (e.g., 32 or 64).
@param log The message log (could be null)
@return LibrarySymbolTable associated with dllName
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/LibraryLookupTable.java