<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def requiredIdr(self, idr: Identifier=None, alias: str=None):
 """ Checks whether signer identifier specified, or can it be inferred from alias or can be default used instead :param idr: :param alias: :param other: :return: signer identifier """


        # TODO Need to create a new Identifier type that supports DIDs and CIDs
        if idr:
            if ':' in idr:
                idr = idr.split(':')[1]
        else:
            idr = self.aliasesToIds[alias] if alias else self.defaultId
        if not idr:
            raise EmptyIdentifier
        return idr