public void mouseHovered(MouseEvent e) {
		stopTimer();
		Layout layout = fieldPanel.findLayoutAt(e.getY());
		if (layout != null) {
			int x = e.getX();
			int y = e.getY();

			FieldLocation newLoc = new FieldLocation();
			layout.setCursor(newLoc, x, y);
			Field mouseField = layout.getField(newLoc.fieldNum);

			if (x < mouseField.getStartX()) {
				return;
			}
			Rectangle rect = layout.getCursorRect(newLoc.fieldNum, newLoc.row, newLoc.col);
			if (x < rect.x - 10 || x > rect.x + 10) {
				return;
			}
			rect.x = mouseField.getStartX();
			rect.width = mouseField.getWidth();
			hoverProvider.mouseHovered(newLoc, mouseField, rect, e);
		}
	}
Call this when the mouse is no longer over the hover source
Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/HoverHandler.java