private boolean canReuseCurrentFilteredData() {
		//
		// We can skip filtering if:
		// -we have not been told to filter
		// -the table is not currently filtered, or is filtered, but
		// --the source data that the filtered data is based upon hasn't changed
		// --the filter hasn't changed
		//
		if (doForceFilter) {
			return false;
		}

		TableData<T> currentTableData = getCurrentFilteredData();
		TableFilter<T> appliedOrPendingFilter = model.getTableFilter();

		if (currentTableData.isUnrelatedTo(sourceData)) {
			// the current table's data is going to be changed by this Job
			return false;
		}

		return currentTableData.matchesFilter(appliedOrPendingFilter);
	}
The current data can be re-used when the data and filter have not changed
(this implies a sort only operation)
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/threaded/TableUpdateJob.java