void dispose() {

		if (isDisposed) {
			return;
		}

		withLock(() -> {
			isDisposed = true;
			timer.stop();
			recordsQueue.clear();
			notificationQueue.clear();
			listeners.clear();
		});
	}
Constructs a new DomainObjectChangeSupport object.

@param src The object to be put as the src for all events generated.
@param timeInterval The time (in milliseconds) this object will wait before flushing its
event buffer. If a new event comes in before the time expires, the timer is reset.
@param lock the lock used to verify that calls to {@link #flush()} are not performed while a
lock is held; this is the lock to guard the DB
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/DomainObjectChangeSupport.java