<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def processClaim(self, schemaId: ID, claimAttributes: Dict[str, ClaimAttributeValues], signature: Claims):
 """ Processes and saves a received Claim for the given Schema. :param schemaId: The schema ID (reference to claim definition schema) :param claims: claims to be processed and saved """

        await self.wallet.submitContextAttr(schemaId, signature.primaryClaim.m2)
        await self.wallet.submitClaimAttributes(schemaId, claimAttributes)

        await self._initPrimaryClaim(schemaId, signature.primaryClaim)
        if signature.nonRevocClaim:
            await self._initNonRevocationClaim(schemaId, signature.nonRevocClaim)