@Override
	public void release(Object consumer) {
		synchronized (consumers) {
			if (!consumers.remove(consumer)) {
				throw new IllegalArgumentException(
					"Attempted to release domain object with unknown consumer: " + consumer);
			}
			if (consumers.size() != 0) {
				return;
			}
		}
		close();
	}
Invalidates any caching in a program and generate a {@link DomainObjectEvent#RESTORED}
event. 
NOTE: Over-using this method can adversely affect system performance.
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/DomainObjectAdapter.java