private void install() {

		//
		// Insert our listener into the front of the listeners so that we get a chance to
		// handle events first.
		//
		MouseListener[] oldMouseListeners = table.getMouseListeners();
		MouseMotionListener[] oldMouseMotionListeners = table.getMouseMotionListeners();
		for (MouseListener l : oldMouseListeners) {
			table.removeMouseListener(l);
		}
		for (MouseMotionListener l : oldMouseMotionListeners) {
			table.removeMouseMotionListener(l);
		}

		table.addMouseListener(this);
		table.addMouseMotionListener(this);

		for (MouseListener l : oldMouseListeners) {
			table.addMouseListener(l);
		}
		for (MouseMotionListener l : oldMouseMotionListeners) {
			table.addMouseMotionListener(l);
		}
	}
A listener for tables that support drag and drop operations.  This listener allows the user to
make a multi-selection in the table and drag that selection.
Ghidra/Framework/Docking/src/main/java/docking/dnd/DragDropTableSelectionMouseListener.java