@Override
	public Component add(Component comp) {
		if (SwingUtilities.isDescendingFrom(comp, this)) {
			return comp;
		}
		return super.add(comp);
	}
!!Super Hacky Override!!
The code we are overriding blindly calls add(), without first checking to see if it has
already been added.  Java 6 added a method, removeNotify(), that is called when components
are removed.  When add is called in the overridden method, it triggers a call to remove, 
which triggers removeNotify().  This call is made during the painting process.  The problem
therein is that out buttons borders get reset (see AbstractButton.removeNotify()) when
we repaint, which means that mouse hovers do not work correctly (SCR 6819).
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/GraphViewer.java