code: def testFromTensorList(self):
      dataset = dataset_ops.DatasetV2.from_tensors(self.images).repeat(
          8
      )
      images_layout = Layout.replicated(self.mesh, rank=4)
      d_dataset = input_util.DTensorDataset(
          dataset=dataset,
          global_batch_size=4,
          mesh=self.mesh,
          layouts=images_layout,
      )
      d_iterator = iter(d_dataset)
  
      spec = input_util._DTensorIteratorSpec(
          global_element_spec=d_iterator._global_element_spec,
          layouts_str=d_iterator._layouts_str,
      )
  
      tensor_list = [d_iterator._iterator_resource_dtensor]
      value = spec._from_tensor_list(tensor_list)
      self.assertIsInstance(value, input_util._DTensorIterator)
      self.assertIs(
          value._global_element_spec, d_iterator._global_element_spec
      )
      self.assertEqual(value._layouts, d_iterator._layouts)
  
imports: import contextlib
  import threading
  from absl.testing import parameterized
  import numpy
  from tensorflow.dtensor.python import api
  from tensorflow.dtensor.python import input_util
  from tensorflow.dtensor.python import layout
  from tensorflow.dtensor.python import mesh_util
  from tensorflow.dtensor.python.tests import test_util
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.eager.polymorphic_function import polymorphic_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
label_desc: Use image node_id 3 for calling the DTensorIteratorSpecTest obj's underlying member method code with example usage: obj.testFromTensorList() without return types