class_docstr: Represents a store of assets backed by metadata providers.
class_docstr_tok: ["Represents","a","store","of","assets","backed","by","metadata","providers","."]
code: def _get_metadata(self, name: str) -> Dict[str, Any]:
      for provider in reversed(self.user_metadata_providers):
          try:
              return provider.get_metadata(name)
          except AssetNotFoundError:
              continue
  
      for provider in reversed(self.metadata_providers):
          try:
              return provider.get_metadata(name)
          except AssetNotFoundError:
              continue
  
      raise AssetNotFoundError(
          f"An asset with the name '{name}' cannot be found."
      )
  
imports: from __future__ import annotations
  import os
  from abc import ABC, abstractmethod
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Protocol, final
  from fairseq2.assets.card import AssetCard, AssetCardError
  from fairseq2.assets.metadata_provider import AssetMetadataProvider, AssetNotFoundError, FileAssetMetadataProvider
  from fairseq2.assets.utils import _get_path_from_env
  from fairseq2.typing import finaloverride
label_desc: Use image node_id 5 for calling the ProviderBackedAssetStore obj's underlying member method code with example usage: obj._get_metadata(name) and returns: provider, provider