public static IconProvider getRuntimeIcon(String ref) {

		if (Icons.isIconsReference(ref)) {
			// help system syntax: <img src="Icons.ERROR_ICON" />
			IconProvider iconProvider = Icons.getIconForIconsReference(ref);
			if (iconProvider == null) {
				return new IconProvider(null, null); // return a non-null 'invalid' provider
			}
			return iconProvider;
		}
		if (Gui.hasIcon(ref)) {

			// 
			// Wrap the GIcon inside of an IconProvider, as that class can handle a null URL 
			// returned from GIcon. (This can happen if the GIcon is based on a modified icon.)
			//
			GIcon gIcon = new GIcon(ref);
			return new IconProvider(gIcon, gIcon.getUrl());
		}

		//
		// Handle any hard-coded special cases		
		//

		//
		// This code is looking for the specific referenced image file and then replacing that
		// image file with something that can update its content at runtime, based on theme.
		// Alternatively, we could have updated all help files to point to a GIcon, which
		// handles updating itself when the theme changes.  We chose to replace the icon here
		// instead of in the source code to prevent changing many files.
		//
		String srcString = ref.toString().trim();
		if (srcString.equals(HELP_SHARED_ARROW)) {
			return SHARED_ARROW_ICON_PROVIDER;
		}

		return null;
	}
Returns true if the given URI represents a remote resource

@param uri the URI
@return true if the given URI represents a remote resource
Ghidra/Framework/Help/src/main/java/help/HelpBuildUtils.java