#     ListContext:1    1.list                                               List<E>
#   ObjectContext:2    2.list/[0]                                           Foo = ObjectWalkerTest.Foo(bar=ObjectWalkerTest.Bar(uid=456, hex=0xFAD), names=[John, Jenny, Adam], empty=null, points={17=ObjectWalkerTest.Point(x=21, y=6, z=4), 18=ObjectWalkerTest.Point(x=21, y=6, z=4), 88=ObjectWalkerTest.Point(x=21, y=6, z=4)})
#   ObjectContext:3    3.list/[0]/bar                                       Bar = ObjectWalkerTest.Bar(uid=456, hex=0xFAD)
#   ObjectContext:4    4.list/[0]/bar/hex                                   String = '0xFAD'
#   ObjectContext:4    5.list/[0]/bar/uid                                   String = '456'
#   ObjectContext:3    6.list/[0]/empty                                     <null>
#     ListContext:3    7.list/[0]/names                                     List<String>
#   ObjectContext:4    8.list/[0]/names/[0]                                 String = 'John'
#   ObjectContext:4    9.list/[0]/names/[1]                                 String = 'Jenny'
#   ObjectContext:4   10.list/[0]/names/[2]                                 String = 'Adam'
#      MapContext:3   11.list/[0]/points                                    Map<Integer,Point>
#   ObjectContext:4   12.list/[0]/points/[17]                               Point = ObjectWalkerTest.Point(x=21, y=6, z=4)
#   ObjectContext:5   13.list/[0]/points/[17]/x                             Integer = 21
#   ObjectContext:5   14.list/[0]/points/[17]/y                             Integer = 6
#   ObjectContext:5   15.list/[0]/points/[17]/z                             Integer = 4
#   ObjectContext:4   16.list/[0]/points/[18]                               Point = ObjectWalkerTest.Point(x=21, y=6, z=4)
#   ObjectContext:5   17.list/[0]/points/[18]/x                             Integer = 21
#   ObjectContext:5   18.list/[0]/points/[18]/y                             Integer = 6
#   ObjectContext:5   19.list/[0]/points/[18]/z                             Integer = 4
#   ObjectContext:4   20.list/[0]/points/[88]                               Point = ObjectWalkerTest.Point(x=21, y=6, z=4)
#   ObjectContext:5   21.list/[0]/points/[88]/x                             Integer = 21
#   ObjectContext:5   22.list/[0]/points/[88]/y                             Integer = 6
#   ObjectContext:5   23.list/[0]/points/[88]/z                             Integer = 4
#   ObjectContext:2   24.list/[1]                                           Foo = ObjectWalkerTest.Foo(bar=ObjectWalkerTest.Bar(uid=55, hex=0xEE), names=[Tom], empty=null, points={33=ObjectWalkerTest.Point(x=3, y=3, z=3)})
#   ObjectContext:3   25.list/[1]/bar                                       Bar = ObjectWalkerTest.Bar(uid=55, hex=0xEE)
#   ObjectContext:4   26.list/[1]/bar/hex                                   String = '0xEE'
#   ObjectContext:4   27.list/[1]/bar/uid                                   String = '55'
#   ObjectContext:3   28.list/[1]/empty                                     <null>
#     ListContext:3   29.list/[1]/names                                     List<String>
#   ObjectContext:4   30.list/[1]/names/[0]                                 String = 'Tom'
#      MapContext:3   31.list/[1]/points                                    Map<Integer,Point>
#   ObjectContext:4   32.list/[1]/points/[33]                               Point = ObjectWalkerTest.Point(x=3, y=3, z=3)
#   ObjectContext:5   33.list/[1]/points/[33]/x                             Integer = 3
#   ObjectContext:5   34.list/[1]/points/[33]/y                             Integer = 3
#   ObjectContext:5   35.list/[1]/points/[33]/z                             Integer = 3
#   ObjectContext:2   36.list/[2]                                           <ref> = #2
#   ObjectContext:2   37.list/[3]                                           Foo = ObjectWalkerTest.Foo(bar=ObjectWalkerTest.Bar(uid=66, hex=0x11), names=[Ann], empty=null, points={77=ObjectWalkerTest.Point(x=7, y=7, z=7)})
#   ObjectContext:3   38.list/[3]/bar                                       Bar = ObjectWalkerTest.Bar(uid=66, hex=0x11)
#   ObjectContext:4   39.list/[3]/bar/hex                                   String = '0x11'
#   ObjectContext:4   40.list/[3]/bar/uid                                   String = '66'
#   ObjectContext:3   41.list/[3]/empty                                     <null>
#     ListContext:3   42.list/[3]/names                                     List<String>
#   ObjectContext:4   43.list/[3]/names/[0]                                 String = 'Ann'
#      MapContext:3   44.list/[3]/points                                    Map<Integer,Point>
#   ObjectContext:4   45.list/[3]/points/[77]                               Point = ObjectWalkerTest.Point(x=7, y=7, z=7)
#   ObjectContext:5   46.list/[3]/points/[77]/x                             Integer = 7
#   ObjectContext:5   47.list/[3]/points/[77]/y                             Integer = 7
#   ObjectContext:5   48.list/[3]/points/[77]/z                             Integer = 7
