/** @return True to propagate further, false if consumed. */
 public boolean onMouseDisarmed(ModelNode node) {
   if (node instanceof HTMLLinkElementImpl) {
     ((HTMLLinkElementImpl) node).getCurrentStyle().setOverlayColor(null);
     return false;
   }
   ModelNode parent = node.getParentModelNode();
   if (parent == null) {
     return true;
   }
   return this.onMouseUp(parent);
 }
 /** @return True to propagate further, false if consumed. */
 public boolean onMouseUp(ModelNode node) {
   boolean pass = true;
   if (node instanceof HTMLAbstractUIElement) {
     HTMLAbstractUIElement uiElement = (HTMLAbstractUIElement) node;
     Function f = uiElement.getOnmouseup();
     if (f != null) {
       pass = Executor.executeFunction(uiElement, f);
     }
   }
   if (node instanceof HTMLLinkElementImpl) {
     ((HTMLLinkElementImpl) node).getCurrentStyle().setOverlayColor(null);
     return false;
   }
   if (!pass) {
     return false;
   }
   ModelNode parent = node.getParentModelNode();
   if (parent == null) {
     return true;
   }
   return this.onMouseUp(parent);
 }