private int[] translateSavedObjectSelectionToRowIndexes() {
		List<T> lastSelectedObjects = modelAdapter.getLastSelectedObjects();
		if (lastSelectedObjects.isEmpty()) {
			// no saved selection
			return new int[0];
		}

		trace("\ttranslate this objects back to indices: " + lastSelectedObjects.get(0));
		Map<Object, List<Integer>> objectRowMap = mapAllTableRowObjectToIndexes();
		if (objectRowMap.isEmpty()) {
			// empty table or too many rows
			return new int[0];
		}

		List<Integer> rowsList = translateRowObjectsToIndices(lastSelectedObjects, objectRowMap);
		int[] asInts = rowsList.stream().mapToInt(i -> i).toArray();
		return asInts;
	}
checks to see if we are ignoring selection changes AND will reset the ignore state
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/RowObjectSelectionManager.java