async def METHOD_NAME(self, profile: Profile, data: dict):
    self.logger.info(f"> add_item({data})")
    # check if
    cred_def_id = data["cred_def_id"]
    rec = await self.read_item(profile, cred_def_id)
    if not rec:
        try:
            rec: CredDefStorageRecord = CredDefStorageRecord.deserialize(data)
            self.logger.debug(f"cred_def_storage_rec = {rec}")
            async with profile.session() as session:
                await rec.save(session, reason="New cred def storage record")
        except Exception as err:
            self.logger.error("Error adding cred def storage record.", err)
            raise err
    self.logger.info(f"< add_item({cred_def_id}): {rec}")
    return rec