protected void setModelState(TableData<ROW_OBJECT> allData,
			TableData<ROW_OBJECT> filteredData) {

		SystemUtilities.assertThisIsTheSwingThread("Must be called on the Swing thread");

		//@formatter:off
		// The data is changed when it is filtered OR when an item has been added or removed
		boolean dataChanged = this.filteredData.getId() != filteredData.getId() ||
							  this.filteredData.size() != filteredData.size();
		//@formatter:on
		this.allData = allData;
		this.filteredData = filteredData;

		setAppliedTableFilter(pendingTableFilter);
		pendingSortContext = null;

		TableSortingContext<ROW_OBJECT> newSortingContext = filteredData.getSortContext();
		if (newSortingContext != null) {
			sortCompleted(newSortingContext);
		}

		notifyModelSorted(dataChanged);
	}
Called when a {@link TableUpdateJob} is cancelled by the user via the Gui. (Disposing of the
table takes a different path.) This is not called when using an incrementally loading
table model.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/threaded/ThreadedTableModel.java