def owner=(obj)
      if obj.nil? then
        op, ov = effective_owner_property_value || return
      else
        op = self.class.owner_properties.detect { |prop| prop.type === obj }
      end
      if op.nil? then raise NoMethodError.new("#{self.class.qp} does not have an owner attribute for #{obj}") end
      set_property_value(op.attribute, obj)
    end
def owner=(obj)
      if obj.nil? then
        op, ov = effective_owner_property_value || return
      else
        op = self.class.owner_properties.detect { |prop| prop.type === obj }
      end
      if op.nil? then raise NoMethodError.new("#{self.class.qp} does not have an owner attribute for #{obj}") end
      set_property_value(op.attribute, obj)
    end
Sets this dependent's owner attribute to the given domain object.

 @param [Resource] obj the owner domain object
 @raise [NoMethodError] if this Resource's class does not have an owner property
   which accepts the given domain object