code: def _reorder_cache(past, beam_idx):
      reordered_past = ()
      for layer_past in past:
          reordered_past += (
              tuple(
                  tf.gather(past_state, beam_idx, axis=0)
                  for past_state in layer_past
              ),
          )
      return reordered_past
  
imports: import math
  import random
  from typing import Any, Optional, Tuple, Union
  import numpy
  import tensorflow
  from ...activations_tf import get_tf_activation
  from ...file_utils import DUMMY_INPUTS, add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, replace_return_docstrings
  from ...modeling_tf_outputs import TFBaseModelOutputWithPastAndCrossAttentions, TFCausalLMOutputWithCrossAttentions
  from ...modeling_tf_utils import TFCausalLanguageModelingLoss, TFModelInputType, TFPreTrainedModel, TFSharedEmbeddings, get_initializer, keras_serializable, unpack_inputs
  from ...tf_utils import shape_list, stable_softmax
  from ...utils import logging
  from .configuration_xglm import XGLMConfig
label_desc: Use image node_id 7 for calling the TFXGLMForCausalLM obj's underlying member method code with example usage: obj._reorder_cache(past, beam_idx) and returns: reordered_past