docs: def _ValidatePathInfos(path_infos):
    """Validates a sequence of path infos."""
    precondition.AssertIterableType(path_infos, rdf_objects.PathInfo)
  
    validated = set()
    for path_info in path_infos:
      _ValidatePathInfo(path_info)
  
      path_key = (path_info.path_type, path_info.GetPathID())
      if path_key in validated:
        message = "Conflicting writes for path: '{path}' ({path_type})".format(
            path="/".join(path_info.components), path_type=path_info.path_type)
        raise ValueError(message)
  
      if path_info.HasField("hash_entry"):
        if path_info.hash_entry.sha256 is None:
          message = "Path with hash entry without SHA256: {}".format(path_info)
          raise ValueError(message)
  
      validated.add(path_key)