public void hotlinkUpdate(HyperlinkEvent e) {
		String desc = e.getDescription();
		if (e.getURL() != null && (desc != null && !desc.trim().toLowerCase().startsWith("script")) && isEditable())
			return;
		Element src = e.getSourceElement();
		if (src == null)
			return;
		if (isElementImage(src))
			return;
		Object eventType = e.getEventType();
		if (eventType == HyperlinkEvent.EventType.ACTIVATED) {
			targetIsBlank = false;
			AttributeSet a = src.getAttributes();
			AttributeSet b = null;
			if (a != null) {
				b = (AttributeSet) a.getAttribute(HTML.Tag.A);
				if (b != null) {
					String s = (String) b.getAttribute(HTML.Attribute.HREF);
					if (s != null) {
						s = (String) b.getAttribute(HTML.Attribute.TARGET);
						if (s != null)
							targetIsBlank = s.equalsIgnoreCase("_blank");
					}
				}
			}
			if (targetIsBlank)
				setLinkParam(b);
			String url = null;
			if (e.getURL() == null) {
				if (desc != null && desc.startsWith("?client=mw"))
					desc = Modeler.getContextRoot() + desc;
				url = desc;
			} else {
				url = e.getURL().toString();
			}
			openHyperlink(ensureLocation(url));
		} else if (eventType == HyperlinkEvent.EventType.ENTERED) {
			reassureDocumentBase(e.getSource());
			if (urlDisplay != null)
				urlDisplay.setText(e.getURL() == null ? desc : e.getURL().toString());
		} else if (eventType == HyperlinkEvent.EventType.EXITED) {
			if (urlDisplay != null)
				urlDisplay.setText(null);
		}
	}