@Override
			public void lock() {
				long blockStartTime = System.currentTimeMillis();
				super.lock();
				long blockEndTime = System.currentTimeMillis();
				long lapsed = blockEndTime - blockStartTime;
				if (Swing.isSwingThread() && lapsed > 30) {
					Msg.warn(this, "Write-Locked the swing thread for " + lapsed + " ms!");
				}
			}
A domain object that can use {@link DBCachedObjectStoreFactory}.

<p>
Technically, this only introduces a read-write lock to the domain object. The
{@link DBCachedObjectStoreFactory} and related require this read-write lock. Sadly, this idea
didn't pan out, and that read-write lock is just a degenerate wrapper of the Ghidra
{@link ghidra.util.Lock}, which is not a read-write lock. This class may disappear.
Ghidra/Debug/ProposedUtils/src/main/java/ghidra/util/database/DBCachedDomainObjectAdapter.java