public UUIDNamedObjectREF add(Object v) throws DmcValueException {
synchronized(this){
UUIDNamedObjectREF newval = typeCheck(v);
if (value == null)
initValue();
UUIDName key = (UUIDName)((DmcMappedAttributeIF)newval).getKey();
UUIDNamedObjectREF oldval = value.put(key,newval);
if (oldval != null){
// We had a value with this key, ensure that the value actually changed
if (oldval.valuesAreEqual(newval))