public boolean setRowForFeedback(int row) {
		if (rowForFeedback == row) {
			return false;
		}
		rowForFeedback = row;
		rangeMin = -1;
		rangeMax = -1;
		if (row == -1) {
			return true;
		}
		ListSelectionModel model = table.getSelectionModel();
		if (!model.isSelectedIndex(row)) {
			return true;
		}
		rangeMin = row;
		rangeMax = row;
		if (inserting) {
			return true;
		}
		int[] rows = table.getSelectedRows();
		int index = -1;
		for (int i = 0; i < rows.length; i++) {
			if (row == rows[i]) {
				index = i;
			}
		}
		if (index != -1) {
			for (int i = index - 1; i >= 0; i--) {
				if (rows[i] + 1 != rows[i + 1]) {
					rangeMin = rows[i + 1];
					break;
				}
				rangeMin = rows[i];
			}
			for (int i = index + 1; i < rows.length; i++) {
				if (rows[i - 1] != rows[i] - 1) {
					rangeMax = rows[i - 1];
					break;
				}
				rangeMax = rows[i];
			}
		}
		return true;
	}
@param isInsert true indicates that only the top of the row is highlighted for feedback.
false indicates that the entire selection should be bordered on all sides.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/DndTableCellRenderer.java