code: def recentMatches(self, **criteria):
          
          if not self.matches: return [] # no match history
          try: # maxMatches is a specially handled parameter (not true criteria)
              maxMatches = criteria["maxMatches"]
              del criteria["maxMatches"]
          except AttributeError:
              maxMatches = c.RECENT_MATCHES
          alLMatches = self.matchSubset(**criteria)
          matchTimes = [(m.endTime, m) for m in matches]
          selMatches = sorted(matchTimes)[:maxMatches] # slice off X most recet matches
          retMatches = [m for endTime,m in selMatches] # extract matches only
          return retMatches
docs: identify all recent matches for player given optional, additional criteria