def read_docs(self, payloadType, els_client = None):
        """Fetches the list of documents associated with this entity from
            api.elsevier.com. If need be, splits the requests in batches to
            retrieve them all. Returns True if successful; else, False.
			NOTE: this method requires elevated API permissions.
			See http://bit.ly/2leirnq for more info."""
        if els_client:
            self._client = els_client;
        elif not self.client:
            raise ValueError('''Entity object not currently bound to els_client instance. Call .read() with els_client argument or set .client attribute.''')
        try:
            api_response = self.client.exec_request(self.uri + "?view=documents")
            if isinstance(api_response[payloadType], list):
                data = api_response[payloadType][0]
            else:
                data = api_response[payloadType]
            docCount = int(data["documents"]["@total"])
            self._doc_list = [x for x in data["documents"]["abstract-document"]]
            for i in range (0, docCount//self.client.num_res):
                try:
                    api_response = self.client.exec_request(self.uri + "?view=documents&start=" + str((i+1) * self.client.num_res+1))
                    if isinstance(api_response[payloadType], list):
                        data = api_response[payloadType][0]
                    else:
                        data = api_response[payloadType]
                    self._doc_list = self._doc_list + [x for x in data["documents"]["abstract-document"]]
                except  (requests.HTTPError, requests.RequestException) as e:
                    if hasattr(self, 'doc_list'):       ## We don't want incomplete doc lists
                        self._doc_list = None
                    raise e
            logger.info("Documents loaded for " + self.uri)
            return True
        except (requests.HTTPError, requests.RequestException) as e:
            logger.warning(e.args)
            return False