async def METHOD_NAME(self, period):
    assert period in ["latest", "next"]
    await self._check_indexes()
    h = bacon.get_block("head")
    sync_period = int(h['data']['message']['slot']) // 32 // 256
    if period == "next":
        sync_period += 1
    res = bacon._make_get_request(f"/eth/v1/beacon/states/head/sync_committees?epoch={sync_period * 256}")
    data = res["data"]
    self.db.sync_committee_stats.replace_one({"period": period},
                                             {"period"     : period,
                                              "start_epoch": sync_period * 256,
                                              "end_epoch"  : (sync_period + 1) * 256,
                                              "sync_period": sync_period * 256,
                                              }, upsert=True)
    validators = data["validators"]
    col = self.db[f"sync_committee_{period}"]
    # get unique validators from collection
    validators_in_db = await col.distinct("validator")
    if set(validators) == set(validators_in_db):
        return
    payload = [
        InsertOne({"index": i, "validator": int(validator)})
        for i, validator in enumerate(validators)
    ]
    async with await self.client.start_session() as s:
        async with s.start_transaction():
            await col.delete_many({})
            await col.bulk_write(payload)