def merge!(response)
      return self if response == self
      if Rack::Response === response
        response = [response.status, response.header, response]
      end
      self.status, self.body = response[0], response[2]
      self.header.merge!(response[1])
      self
    end
def merge!(response)
      return self if response == self
      if Rack::Response === response
        response = [response.status, response.header, response]
      end
      self.status, self.body = response[0], response[2]
      self.header.merge!(response[1])
      self
    end
Merges another response object (or response array) into self in order to preserve references to this response
 object.