code: def whos_allowed(self):
          
          who = set()
          for principal in self.principals:
              principal = PrincipalTuple(category='principal', value=principal)
              who.add(principal)
          who = who.union(self.condition_entries)
          return who
docs: Returns set containing any entries from principal and condition section.
          
          Example:
          
          statement = Statement(dict(
              Effect='Allow',
              Principal='arn:aws:iam::*:role/Hello',
              Action=['ec2:*'],
              Resource='*',
              Condition={
                  'StringLike': {
                      'AWS:SourceOwner': '012345678910'
                  }}))
  
          statement.whos_allowed()
          > set([
          >    PrincipalTuple(category='principal', value='arn:aws:iam::*:role/Hello'),
          >    ConditionTuple(category='account', value='012345678910')])