def find(self, state, recp):
        """WARNING: This function do not return partners
        currently being initialized."""
        if recipient.IRecipient.providedBy(recp):
            agent_id = recipient.IRecipient(recp).key
        else:
            agent_id = recp
        desc = state.agent.get_descriptor()
        match = [x for x in desc.partners if x.recipient.key == agent_id]
        if len(match) == 0:
            return None
        elif len(match) > 1:
            raise FindPartnerError('More than one partner was matched by the '
                                   'recipient %r!. Matched: %r' % \
                                   (recp, match, ))
        else:
            return match[0]