def _subj_dict_from_pyxb(self, access_pyxb):
        """Return a dict representation of ``access_pyxb``, which is an AccessPolicy
        PyXB object.

        This also remove any duplicate subjects and permissions in the PyXB object.

        """
        subj_dict = {}
        for allow_pyxb in access_pyxb.allow:
            perm_set = set()
            for perm_pyxb in allow_pyxb.permission:
                perm_set.add(perm_pyxb)
            for subj_pyxb in allow_pyxb.subject:
                subj_dict.setdefault(subj_pyxb.value(), set()).update(perm_set)
        return subj_dict
Return a dict representation of ``access_pyxb``, which is an AccessPolicy
        PyXB object.

        This also remove any duplicate subjects and permissions in the PyXB object.