code: def _get_schema_annotations_common(
      tensor_annotation_keys, type_urls, proto_values
  ):
      """Fetch extra_metadata annotations to be applied to the schema.
  
      Args:
        tensor_annotation_keys: A list containing either
          `_TF_METADATA_EXTRA_ANNOTATION_GLOBAL` or a hashed tensor representation
          corresponding to each entry in `proto_values`. If an entry
          is`_TF_METADATA_EXTRA_ANNOTATION_GLOBAL`, the corresponding any_pb2.Any
          proto in `proto_values` is returned in `global_annotations`. Otherwise, it
          is returned in `feature_annotations`.
        type_urls: A list of type urls corresponding to the serialized protos in
          `proto_values`.
        proto_values: A list of serialized any_pb2.Any protos.
  
      Returns:
        A tuple of:
        tensor_annotations: dictionary from tensor to list of any_pb2.Any protos to
          be added as an annotation for that tensor's feature in the schema.
        global_annotations: list of any_pb2.Any protos to be added at the global
          schema level.
      """
      tensor_annotations = collections.defaultdict(list)
      global_annotations = []
      if not common.IS_ANNOTATIONS_PB_AVAILABLE:
          return tensor_annotations, global_annotations
      assert (
          len(tensor_annotation_keys)
          == len(type_urls)
          == len(proto_values)
      )
      for tensor_annotation_key, type_url, proto_value in zip(
          tensor_annotation_keys, type_urls, proto_values
      ):
          annotation = any_pb2.Any(type_url=type_url, value=proto_value)
          if (
              isinstance(
                  _TF_METADATA_EXTRA_ANNOTATION_GLOBAL,
                  type(tensor_annotation_key),
              )
              and tensor_annotation_key
              == _TF_METADATA_EXTRA_ANNOTATION_GLOBAL
          ):
              global_annotations.append(annotation)
          else:
              tensor_annotations[tensor_annotation_key].append(
                  annotation
              )
      return tensor_annotations, global_annotations
  
imports: import collections
  import itertools
  from typing import Any, Callable, Dict, Iterable, List, Mapping, Optional, Tuple, Union
  from absl import logging
  import tensorflow
  from tensorflow_transform import common
  from tensorflow_transform import common_types
  from tensorflow_transform import graph_context
  from tensorflow_transform import tf2_utils
  from tensorflow_transform import tf_utils
  from tensorflow_transform.saved import saved_transform_io_v2
  from tensorflow_transform.tf_metadata import schema_utils
  from tfx_bsl.tfxio import tensor_representation_util
  from google.protobuf import any_pb2
  from tensorflow.python.eager import function
  from tensorflow.python.framework import ops
  from tensorflow_metadata.proto.v0 import schema_pb2
label_desc: Use image node_id 15 for calling a global function with example usage: _get_schema_annotations_common(tensor_annotation_keys, type_urls, proto_values) and returns: tensor_annotations,  global_annotations, tensor_annotations,  global_annotations