code: def getPeersWithAttrValues(self, attrName, attrValues):
          '''
              getPeersWithAttrValues - Gets peers (elements on same level) whose attribute given by #attrName 
                  are in the list of possible vaues #attrValues
  
              @param attrName - Name of attribute
              @param attrValues - List of possible values which will match
  
              @return - None if no parent element (error condition), otherwise a TagCollection of peers that matched.
          '''
          peers = self.peers
          if peers is None:
              return None
          return TagCollection([peer for peer in peers if peer.getAttribute(attrName) in attrValues]f getPeersWithAttrValues(self, attrName, attrValues):
          '''
              getPeersWithAttrValues - Gets peers (elements on same level) whose attribute given by #attrName 
                  are in the list of possible vaues #attrValues
  
              @param attrName - Name of attribute
              @param attrValues - List of possible values which will match
  
              @return - None if no parent element (error condition), otherwise a TagCollection of peers that matched.
          '''
          peers = self.peers
          if peers is None:
              return None
          return TagCollection([peer for peer in peers if peer.getAttribute(attrName) in attrValues])
docs: getPeersWithAttrValues - Gets peers (elements on same level) whose attribute given by #attrName 
                  are in the list of possible vaues #attrValues
  
              @param attrName - Name of attribute
              @param attrValues - List of possible values which will match
  
              @return - None if no parent element (error condition), otherwise a TagCollection of peers that matched.