public ActifactGeneratorREF add(Object v) throws DmcValueException {
synchronized(this){
ActifactGeneratorREF newval = typeCheck(v);
if (value == null)
initValue();
StringName key = (StringName)((DmcMappedAttributeIF)newval).getKey();
ActifactGeneratorREF 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))