docs: def ParseMultiple(self, stats, file_objects, knowledge_base):
      """Parse the found release files."""
      _ = knowledge_base
  
      # Collate files into path: contents dictionary.
      found_files = self._Combine(stats, file_objects)
  
      # Determine collected files and apply weighting.
      weights = [w for w in self.WEIGHTS if w.path in found_files]
      weights = sorted(weights, key=lambda x: x.weight)
  
      for _, path, handler in weights:
        contents = found_files[path]
        obj = handler(contents)
  
        complete, result = obj.Parse()
        if result is None:
          continue
        elif complete:
          yield rdf_protodict.Dict({
              'os_release': result.release,
              'os_major_version': result.major,
              'os_minor_version': result.minor
          })
          return
  
      # Amazon AMIs place release info in /etc/system-release.
      # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html
      system_release = found_files.get('/etc/system-release', None)
      if system_release and 'Amazon Linux' in system_release:
        match_object = ReleaseFileParseHandler.RH_RE.search(system_release)
        if match_object and match_object.lastindex > 1:
          yield rdf_protodict.Dict({
              'os_release': 'AmazonLinuxAMI',
              'os_major_version': int(match_object.group(1)),
              'os_minor_version': int(match_object.group(2))
          })
          return
  
      # Fall back to /etc/os-release.
      results_dict = self._ParseOSReleaseFile(found_files)
      if results_dict is not None:
        yield results_dict
        return
  
      # No successful parse.
      yield rdf_anomaly.Anomaly(
          type='PARSER_ANOMALY', symptom='Unable to determine distribution.')