code: def test_vice_versa(self):
      class First(Structure):
          pass
  
      class Second(Structure):
          pass
  
      First._fields_ = [("second", Second)]
  
      try:
          Second._fields_ = [("first", First)]
      except AttributeError as details:
          self.assertIn("_fields_ is final", str(details))
      else:
          self.fail("AttributeError not raised")
  
imports: import _ctypes_test
  from platform import architecture
  import struct
  import sys
  import unittest
  from ctypes import CDLL, Array, Structure, Union, POINTER, sizeof, byref, alignment, c_void_p, c_char, c_wchar, c_byte, c_ubyte, c_uint8, c_uint16, c_uint32, c_short, c_ushort, c_int, c_uint, c_long, c_ulong, c_longlong, c_ulonglong, c_float, c_double
  from ctypes.util import find_library
  from struct import calcsize
  from collections import namedtuple
  from test import support
  from ._support import _CData, PyCStructType, Py_TPFLAGS_DISALLOW_INSTANTIATION, Py_TPFLAGS_IMMUTABLETYPE
label_desc: Use image node_id 2 for calling the TestRecursiveStructure obj's underlying member method code with example usage: obj.test_vice_versa() without return types