@Override
	public boolean handleMouseClick(String[] annotationParts, Navigatable navigatable,
			ServiceProvider serviceProvider) {
		String urlString = annotationParts[1];
		URL url = getURLForString(urlString);
		if (url != null) {
			if (GhidraURL.PROTOCOL.equals(url.getProtocol())) {
				ProgramManager programManager = serviceProvider.getService(ProgramManager.class);
				return programManager.openProgram(url, ProgramManager.OPEN_CURRENT) != null;
			}
			BrowserLoader.display(url, null, serviceProvider);
			return true;
		}

		Msg.showError(this, null, "Invalid URL",
			"Unable to create a Java URL object from string: " + urlString);

		return false;
	}
An annotated string handler that allows handles annotations that begin with
{@link #SUPPORTED_ANNOTATIONS}.  This class expects one or two strings following the annotation.
The first string will be treated as a Java {@link URL} and the optional second string will
be treated as display text.  If there is not display text, then the URL will be
displayed.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/URLAnnotatedStringHandler.java