<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bulk_fetch(subject_category, object_category, taxon, rows=MAX_ROWS, **kwargs):
 """ Fetch associations for a species and pair of categories in bulk. Arguments: - subject_category: String (not None) - object_category: String (not None) - taxon: String - rows: int Additionally, any argument for search_associations can be passed """

    assert subject_category is not None
    assert object_category is not None
    time.sleep(1)
    logging.info("Bulk query: {} {} {}".format(subject_category, object_category, taxon))
    assocs = search_associations_compact(subject_category=subject_category,
                                         object_category=object_category,
                                         subject_taxon=taxon,
                                         rows=rows,
                                         iterate=True,
                                         **kwargs)
    logging.info("Rows retrieved: {}".format(len(assocs)))
    if len(assocs) == 0:
        logging.error("No associations returned for query: {} {} {}".format(subject_category, object_category, taxon))
    return assocs