@SuppressWarnings("unchecked")
	@Override
	public <T extends Saveable> void setProperty(String name, T value) {
		PropertyMapManager mgr = codeMgr.getPropertyMapManager();
		lock.acquire();
		try {
			checkDeleted();
			ObjectPropertyMap<?> pm = mgr.getObjectPropertyMap(name);
			if (pm == null) {
				try {
					pm = mgr.createObjectPropertyMap(name, value.getClass());
				}
				catch (DuplicateNameException e) {
					throw new AssertException(
						"Assert problem in CodeUnitImpl.setProperty(Stirng,Object)");
				}
			}
			// Will throw IllegalArgumentException if map is not applicable for T
			((ObjectPropertyMap<T>) pm).add(address, value);
		}
		finally {
			lock.release();
		}
	}
@see ghidra.program.model.listing.CodeUnit#addOperandReference(int,
     ghidra.program.model.address.Address,
     ghidra.program.model.symbol.RefType, SourceType)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/CodeUnitDB.java