code: def _fetch_metadata_serialization_wrapper(
      fragments: List[_SerializedFragment],
  ) -> List["pyarrow.parquet.FileMetaData"]:
      fragments: List[
          "pyarrow._dataset.ParquetFileFragment"
      ] = _deserialize_fragments_with_retry(fragments)
  
      return _fetch_metadata(fragments)
  
imports: import logging
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterator, List, Literal, Optional, Union
  import numpy
  import ray
  import ray.cloudpickle
  from ray.data._internal.progress_bar import ProgressBar
  from ray.data._internal.remote_fn import cached_remote_fn
  from ray.data._internal.util import _check_pyarrow_version, _is_local_scheme
  from ray.data.block import Block
  from ray.data.context import DataContext
  from ray.data.datasource import Datasource
  from ray.data.datasource._default_metadata_providers import get_generic_metadata_provider
  from ray.data.datasource.datasource import ReadTask
  from ray.data.datasource.file_meta_provider import DefaultParquetMetadataProvider, ParquetMetadataProvider, _handle_read_os_error
  from ray.data.datasource.partitioning import PathPartitionFilter
  from ray.data.datasource.path_util import _has_file_extension, _resolve_paths_and_filesystem
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 4 for calling a global function with example usage: _fetch_metadata_serialization_wrapper(fragments) and returns: _fetch_metadata