public static URL findApplicationUrl(String relativePath) {

		String updatedPath = relativePath;
		if (relativePath.startsWith(JavaHelpValidator.EXTERNAL_PREFIX)) {
			updatedPath = relativePath.substring(JavaHelpValidator.EXTERNAL_PREFIX.length());
		}

		ResourceFile file = null;
		if (SystemUtilities.isInDevelopmentMode()) {
			// Look for HTML files that live in global docs dir, such as 'docs/README_PDB.html'.
			file = findModuleFile("src/global/" + updatedPath);
			if (file == null) {
				// Look for HTML files that get built to the global docs dir (such as 
				// 'docs/WhatsNew.md' -> 'WhatsNew.html')
				file = findModuleFile("build/src/global/" + updatedPath);
			}
		}
		else {
			// 
			// In release mode, some of the help content is relative to the root of the application,
			// such as 'docs/WhatsNew.html'.
			//
			ResourceFile installDir = Application.getInstallationDirectory();
			file = new ResourceFile(installDir, updatedPath);
		}

		if (file == null || !file.exists()) {
			return null;
		}

		try {
			return file.toURL();
		}
		catch (MalformedURLException e) {
			Msg.trace(HelpBuildUtils.class, "Unexpected error parsing file to URL: " + file);
		}
		return null;
	}
Searches the application classpath (for a module file) and directory structure (for a release
file), depending on whether in release mode or development mode, to find the URL for the 
given relative path.
@param relativePath the path
@return the URL or null if not found
Ghidra/Framework/Help/src/main/java/help/HelpBuildUtils.java