# File lib/dm-core/query.rb, line 325
    def update(other)
      assert_kind_of 'other', other, self.class, Hash

      other_options = if other.kind_of? self.class
        if self.eql?(other)
          return self
        end
        assert_valid_other(other)
        other.options
      else
        other
      end

      unless other_options.empty?
        options = @options.merge(other_options)
        if @options[:conditions] and other_options[:conditions]
          options[:conditions] = @options[:conditions].dup << other_options[:conditions]
        end
        initialize(repository, model, options)
      end

      self
    end