code: def test_recursive_list(self):
      experiment = {
          "demo": {
              "_name": "DemoWithList",
              "simple_int": 22,
              "children": [
                  {"_name": "DemoWithStr", "strval": "foo"},
                  "$demo3",
              ],
          },
          "demo3": {"_name": "DemoWithInt", "intval": 2},
      }
      e = ExperimentConfig(experiment)
      demo: DemoWithList = e.experiment["demo"]
      self.assertEqual(22, demo.simple_int)
  
      self.assertIsInstance(demo.children[0], DemoWithStr)
      self.assertEqual(demo.children[0].strval, "foo")
  
      self.assertIsInstance(demo.children[1], DemoWithInt)
      self.assertEqual(demo.children[1].intval, 2)
  
imports: import unittest
  from pathlib import Path
  from typing import Any, Dict, List
  from transfer_nlp.plugins.config import CallableInstantiationError, ExperimentConfig, LoopInConfigError, UnknownPluginException, UnknownReferenceError, register_plugin
label_desc: Use image node_id 19 for calling the RegistryTest obj's underlying member method code with example usage: obj.test_recursive_list() without return types