code: def _run_search_request(
              self, protocol_request, object_name, protocol_response_class):
          
          not_done = True
          while not_done:
              response_object = self._run_search_page_request(
                  protocol_request, object_name, protocol_response_class)
              value_list = getattr(
                  response_object,
                  protocol.getValueListName(protocol_response_class))
              for extract in value_list:
                  yield extract
              not_done = bool(response_object.next_page_token)
              protocol_request.page_token = response_object.next_page_token
docs: Runs the specified request at the specified object_name and
          instantiates an object of the specified class. We yield each object in
          listAttr.  If pages of results are present, repeat this process
          until the pageToken is null.