code: def testListSupertype(self):
      list_a = default_types.List(
          MockSupertypes2With3(1),
          MockSupertypes2With3(2),
          MockSupertypes2With3(3),
      )
      list_b = default_types.List(
          MockSupertypes2With3(2),
          MockSupertypes2With3(2),
          MockSupertypes2With3(2),
      )
  
      self.assertEqual(
          list_a, list_a.most_specific_common_supertype([])
      )
      self.assertIsNone(list_a.most_specific_common_supertype([list_b]))
      self.assertEqual(
          list_b.most_specific_common_supertype([list_a]),
          default_types.List(
              MockSupertypes2With3(3),
              MockSupertypes2With3(3),
              MockSupertypes2With3(3),
          ),
      )
  
imports: import collections
  from tensorflow.core.function.trace_type import default_types
  from tensorflow.core.function.trace_type import serialization
  from tensorflow.python.platform import test
  from tensorflow.python.types import trace
label_desc: Use image node_id 4 for calling the DefaultTypesTest obj's underlying member method code with example usage: obj.testListSupertype() without return types