void flush() {
		Thread lockOwner = domainObjectLock.getOwner();
		if (lockOwner == Thread.currentThread()) {

			//
			// We have decided that flushing events with a lock can lead to deadlocks.  There
			// should be no reason to flush events while holding a lock.   This is the potential
			// deadlock:
			// 		Thread1 has Domain Lock -> wants AWT lock
			// 		Swing has AWT lock -> wants Domain lock
			//
			throw new IllegalStateException("Cannot call flush() with locks!");
		}

		sendEventNow();
	}
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