protected <U> U safe(Lock l, SupplierAllowsIOException<U> supplier) {
		try (LockHold hold = LockHold.lock(l)) {
			return supplier.get();
		}
		catch (IOException e) {
			adapter.dbError(e);
			return null;
		}
	}
Invoke the given supplier with a lock, directing {@link IOException}s to the domain object
adapter

@param <U> the type of the result
@param l the lock to hold during invocation
@param supplier the supplier to invoke
@return the result
Ghidra/Debug/ProposedUtils/src/main/java/ghidra/util/database/DBCachedObjectStore.java