This allows to set a value on the object hierarchy in the following conditions - if an object of the same type already exists - if an object of a different type already exists