def get_effective_perm_list(self, subj_str):
        """
    Args:
      subj_str : str
        Subject for which to retrieve the effective permissions.

    Returns:
      list of str: List of permissions up to and including the highest permission for
      subject, ordered lower to higher, or empty list if subject does not have any
      permissions.

      E.g.: If 'write' is highest permission for subject, return ['read', 'write'].
    """
        highest_perm_str = self.get_highest_perm_str(subj_str)
        if highest_perm_str is None:
            return []
        return self._equal_or_lower_perm_list(highest_perm_str)