code: def test_wrapped_constructor(self):
      def add_tag(f):
          @functools.wraps(f)
          def wrapper(*args, **kwargs):
              args[0]._tag = "tagged"
              return f(*args, **kwargs)
  
          return wrapper
  
      @auto_composite_tensor.auto_composite_tensor
      class ThingWithWrappedInit(
          auto_composite_tensor.AutoCompositeTensor
      ):
          @add_tag
          def __init__(self, value):
              self.value = tf.convert_to_tensor(value)
  
      init = ThingWithWrappedInit(3)
  
      def body(obj):
          return (ThingWithWrappedInit(value=obj.value + 1),)
  
      (out,) = tf.while_loop(
          cond=lambda *_: True,
          body=body,
          loop_vars=(init,),
          maximum_iterations=3,
      )
      self.assertEqual(self.evaluate(out.value), 6)
  
imports: import functools
  import os
  from absl import flags
  from absl.testing import parameterized
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import shift
  from tensorflow_probability.python.bijectors import transform_diagonal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.experimental.distributions import mvn_precision_factor_linop
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import test_util
  from absl.testing import absltest
label_desc: Use image node_id 10 for calling the AutoCompositeTensorTest obj's underlying member method code with example usage: obj.test_wrapped_constructor() and returns: wrapper, ThingWithWrappedInit, f