code: def GetFormatsWithSignatures(cls, parser_filter_expression=None):
      
      specification_store = specification.FormatSpecificationStore()
      remainder_list = []
  
      for parser_name, parser_class in cls.GetParsers(
          parser_filter_expression=parser_filter_expression):
        format_specification = parser_class.GetFormatSpecification()
  
        if format_specification and format_specification.signatures:
          specification_store.AddSpecification(format_specification)
          # The plist parser is a special case, where it both defines a signature
          # and also needs to be applied 'brute-force' to non-matching files,
          # as the signature matches binary plists, but not XML or JSON plists.
          if parser_name == 'plist':
            remainder_list.append(parser_name)
        else:
          remainder_list.append(parser_name)
  
      return specification_store, remainder_list
docs: Retrieves the format specifications that have signatures.
  
      This method will create a specification store for parsers that define
      a format specification with signatures and a list of parser names for
      those that do not.
  
      Args:
        parser_filter_expression (Optional[str]): parser filter expression,
            where None represents all parsers and plugins.
  
      Returns:
        tuple: containing:
  
        * FormatSpecificationStore: format specifications with signatures.
        * list[str]: names of parsers that do not have format specifications with
            signatures, or have signatures but also need to be applied 'brute
            force'.