def METHOD_NAME(zone_example_grid):
    se = SpeciesEvolver(zone_example_grid)
    introduced_taxa = [TestTaxon(), TestTaxon()]
    se.track_taxa(introduced_taxa)
    se.run_one_step(10)
    se.run_one_step(10)
    # Test no parameters.
    queried_taxa = se.get_extant_taxon_objects()
    np.testing.assert_equal(Counter(queried_taxa), Counter(se._taxon_objs))
    # Test `tids` parameter.
    queried_taxa = se.get_extant_taxon_objects(tids=[0])
    ids = [t.tid for t in queried_taxa]
    expected_ids = []
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    queried_taxa = se.get_extant_taxon_objects(tids=[4, 5])
    ids = [t.tid for t in queried_taxa]
    expected_ids = [4, 5]
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    # Test `time` parameter.
    queried_taxa = se.get_extant_taxon_objects(time=20)
    ids = [t.tid for t in queried_taxa]
    expected_ids = [4, 5]
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    queried_taxa = se.get_extant_taxon_objects(time=10)
    ids = [t.tid for t in queried_taxa]
    expected_ids = []
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    queried_taxa = se.get_extant_taxon_objects(time=30)
    ids = [t.tid for t in queried_taxa]
    expected_ids = []
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    # Test `ancestor` parameter.
    queried_taxa = se.get_extant_taxon_objects(ancestor=1)
    ids = [t.tid for t in queried_taxa]
    expected_ids = [5]
    np.testing.assert_equal(Counter(ids), Counter(expected_ids))
    queried_taxa = se.get_extant_taxon_objects(ancestor=5)
    np.testing.assert_equal(queried_taxa, [])
    queried_taxa = se.get_extant_taxon_objects(ancestor=6)
    np.testing.assert_equal(queried_taxa, [])
    # Test multiple parameters.
    queried_taxa = se.get_extant_taxon_objects(ancestor=1, time=10)
    np.testing.assert_equal(queried_taxa, [])