docs: 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)