private void notifyFinished(boolean wasCancelled) {
		//
		//				 Unusual Code Alert!
		// It is odd that a 'notify' method is changing the state of a variable.  This is a wart
		// that we've chosen to live with.  We have a variable that we want to stay around as long
		// as the threaded update manager has work to do.  We know that this method is called when
		// no pending work remains.  We use this signal to know that this crufty state variable can
		// now be cleansed.
		//
		// This variable may have already been cleared, but just in case of a cancel situation, we
		// don't want this hanging around and affecting future sorts.
		//
		pendingSortContext = null;

		for (ThreadedTableModelListener listener : listeners) {
			listener.loadingFinished(wasCancelled);
		}
	}
This is a way to know about updates from the table.

@param listener the listener to add
@see #addInitialLoadListener(ThreadedTableModelListener)
@see #removeThreadedTableModelListener(ThreadedTableModelListener)
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/threaded/ThreadedTableModel.java