private void callFinish() {
		trace("callFinish()");
		if (isFinished) {
			trace("\talready finished");
			return; // already called 
		}

		try {
			finished();
		}
		catch (Throwable t) {
			Msg.error(this, "Unexpected error in AbstractAnimator: ", t);
		}

		isFinished = true;

		// a null listener implies we were shortcut before we were started
		trace("\tmaybe notify finished...");
		if (finishedListener != null) {
			trace("\tlistener is not null--calling");
			finishedListener.jobFinished(this);
		}

		if (busyListener != null) {
			busyListener.setBusy(false);
		}
	}
A callback given when this animator has run to completion.  This will be called whether
the animator is stopped prematurely or ends naturally.
Ghidra/Framework/Graph/src/main/java/ghidra/graph/job/AbstractAnimatorJob.java