def METHOD_NAME():
    class Custom:
        def __init__(self, name='') -> None:
            self.name = name
    c = Custom()
    c1 = Custom(name='c1')
    c2 = Custom(name='c2')
    c3 = Custom(name='c3')
    a: NestableEventedList[Custom] = NestableEventedList(
        [c, c1, [c2, [c3]]],
        basetype=Custom,
        lookup={str: lambda x: getattr(x, 'name', '')},
    )
    # first level
    assert a[1].name == 'c1'  # index with integer as usual
    assert a.index("c1") == 1
    assert a['c1'] == c1  # index with string also works
    # second level
    assert a[2, 0].name == 'c2'
    assert a.index("c2") == (2, 0)
    assert a['c2'] == c2