code: def match(self, item):
          
          if not self._unused_matchers:
              raise RuntimeError('Matcher exhausted, no more matchers to use')
  
          for matcher in self._unused_matchers:
              if matcher(item):
                  self._used_matchers.append(matcher)
                  break
  
          if not self._unused_matchers:
              # All patterns have been matched
              return True
  
          return False
docs: Return ``True`` if the expected matchers are matched in any order,
          otherwise ``False``.