code: def _ParseFileEntryWithParsers(
        self, parser_mediator, parser_names, file_entry, file_object=None):
      
      parse_results = self._PARSE_RESULT_UNSUPPORTED
      for parser_name in parser_names:
        parser = self._parsers.get(parser_name, None)
        if not parser:
          raise RuntimeError(
              'Parser object missing for parser: {0:s}'.format(parser_name))
  
        if parser.FILTERS:
          if not self._CheckParserCanProcessFileEntry(parser, file_entry):
            parse_results = self._PARSE_RESULT_SUCCESS
            continue
  
        display_name = parser_mediator.GetDisplayName(file_entry)
        logger.debug((
            '[ParseFileEntryWithParsers] parsing file: {0:s} with parser: '
            '{1:s}').format(display_name, parser_name))
  
        parse_result = self._ParseFileEntryWithParser(
            parser_mediator, parser, file_entry, file_object=file_object)
  
        if parse_result == self._PARSE_RESULT_FAILURE:
          return self._PARSE_RESULT_FAILURE
  
        if parse_result == self._PARSE_RESULT_SUCCESS:
          parse_results = self._PARSE_RESULT_SUCCESS
  
      return parse_results
docs: Parses a file entry with a specific parsers.
  
      Args:
        parser_mediator (ParserMediator): parser mediator.
        parser_names (list[str]): names of parsers.
        file_entry (dfvfs.FileEntry): file entry.
        file_object (Optional[file]): file-like object to parse.
            If not set the parser will use the parser mediator to open
            the file entry's default data stream as a file-like object.
  
      Returns:
        int: parse result which is _PARSE_RESULT_FAILURE if the file entry
            could not be parsed, _PARSE_RESULT_SUCCESS if the file entry
            successfully was parsed or _PARSE_RESULT_UNSUPPORTED when
            UnableToParseFile was raised or no names of parser were provided.
  
      Raises:
        RuntimeError: if the parser object is missing.