<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, response):
 """Parse the GET response for the collection. This operates as a lazy-loader, meaning that the data are only downloaded from the server if there are not already loaded. Collection items are loaded sequentially. In some rare cases, a collection can have an asynchronous request triggered. For those cases, we handle it here. """

        self._models = []
        if isinstance(response, dict):
            for key in response.keys():
                model = self.model_class(self, href='')
                model.load(response[key])
                self._models.append(model)
        else:
            for item in response:
                model = self.model_class(self,
                                         href=item.get('href'))
                model.load(item)
                self._models.append(model)