@classmethod
def _load(cls, response):
    """
        Python doesn't allow arbitrary fields on arrays and having special classes
        for array & cursor attributes is not necessary => namedtuple.
        (immutable, therefore all set on creation by generator)
        """
    response.raise_for_status()
    if response.status_code == 204 or response.status_code == 202:
        return None
    try:
        jsonObj = response.json()
    except ValueError:
        return response.content
    return cls._loadJSON(jsonObj)
