code: def filter(self, *args):
          '''
          Returns a filtered subset of this collection of signatures, based on
          a set of key/value tuples
  
          This is useful when you only want a subset of the signatures in a project.
  
          Example usage:
  
          ::
              pc = PerfherderClient()
              signatures = pc.get_signatures('mozilla-central')
              signatures = signatures.filter(('suite', 'tp5o'), ('machine_platform', 'windowsxp'))
          '''
          filtered_signatures = {}
          for (signature, signature_value) in self.items():
              skip = False
              for (key, val) in args:
                  if signature_value.get(key) != val:
                      skip = True
                      break
              if not skip:
                  filtered_signatures[signature] = signature_value
  
          return PerformanceSignatureCollection(filtered_signaturesf filter(self, *args):
          '''
          Returns a filtered subset of this collection of signatures, based on
          a set of key/value tuples
  
          This is useful when you only want a subset of the signatures in a project.
  
          Example usage:
  
          ::
              pc = PerfherderClient()
              signatures = pc.get_signatures('mozilla-central')
              signatures = signatures.filter(('suite', 'tp5o'), ('machine_platform', 'windowsxp'))
          '''
          filtered_signatures = {}
          for (signature, signature_value) in self.items():
              skip = False
              for (key, val) in args:
                  if signature_value.get(key) != val:
                      skip = True
                      break
              if not skip:
                  filtered_signatures[signature] = signature_value
  
          return PerformanceSignatureCollection(filtered_signatures)
docs: Returns a filtered subset of this collection of signatures, based on
          a set of key/value tuples
  
          This is useful when you only want a subset of the signatures in a project.
  
          Example usage:
  
          ::
              pc = PerfherderClient()
              signatures = pc.get_signatures('mozilla-central')
              signatures = signatures.filter(('suite', 'tp5o'), ('machine_platform', 'windowsxp'))