void invalidate() {
			lock.acquire();
			try {
				invalid = true;
				acceptedSourceAssociations.clear();
				acceptedDestinationAssociations.clear();
			}
			finally {
				lock.release();
			}
		}
A cache of accepted associations that allow this class to check isBlocked() quickly.  This
was added to fix a major performance bottleneck.
<p>
The cache will be invalidated and cleared after an undo or redo event.  Once cleared, the
cache will stay empty until the next request to check the blocked status of an association.
This is to allow the user to perform multiple undo/redo operations without this class having
to reload.

Assumptions:
<ul>
 <li>This isBlocked() method of class is used by background task threads, not the Swing
 thread.  This method will reload the cache when it is invalid.  Further, loading the cache
 in this case will require a lock.  To avoid deadlocks, isBlock() should only be used by
 background threads and not the Swing thread.
 </li>
</ul>
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/api/db/AssociationDatabaseManager.java