@Override
		public synchronized void removeMouseListener(MouseListener l) {
			if (mouseListenerDelegate == null) {
				super.removeMouseListener(l);
			}
			else {
				mouseListenerDelegate.removeMouseListener(l);
			}
		}
Need to override the removeMouseListener method of the JTree to defer to the delegate
mouse listener. The GTree uses a mouse listener delegate for itself and the JTree it
wraps. When the delegate was installed, it moved all the existing mouse listeners from
the JTree to the delegate. All listener remove calls should also be moved to the
delegate. Otherwise, some Ghidra components that use a convention/pattern to avoid
listener duplication by first removing a listener before adding it, don't work and
duplicates get added.
Ghidra/Framework/Docking/src/main/java/docking/widgets/tree/GTree.java