code: def testCapturesSupertype(self):
      supertype_1 = self.type_a1_b1_c1.most_specific_common_subtype(
          [self.type_a1_b1_c1]
      )
      self.assertLen(supertype_1.captures, 3)
  
      supertype_2 = self.type_a1_b1.most_specific_common_subtype(
          [self.type_a1_b1_c1, self.type_a2_b2_c2]
      )
      self.assertIsNone(supertype_2)
  
      supertype_3 = self.type_a1_b1.most_specific_common_subtype(
          [self.type_a1_b1_c2]
      )
      self.assertLen(supertype_3.captures, 3)
  
      supertype_4 = self.type_a1_b1_c1.most_specific_common_subtype(
          [self.type_a1_b1_c2]
      )
      self.assertIsNone(supertype_4)
  
      supertype_5 = self.type_a1_b1_c1.most_specific_common_subtype(
          [self.type_d1]
      )
      self.assertLen(supertype_5.captures, 4)
  
imports: import collections
  import pickle
  import platform
  from absl.testing import parameterized
  from tensorflow.core.function import trace_type
  from tensorflow.core.function.polymorphism import function_type
  from tensorflow.core.function.polymorphism import function_type_pb2
  from tensorflow.core.function.trace_type import serialization
  from tensorflow.python.framework import func_graph
  from tensorflow.python.platform import test
  from tensorflow.python.types import trace
label_desc: Use image node_id 3 for calling the CapturesTest obj's underlying member method code with example usage: obj.testCapturesSupertype() without return types