I noticed that ProtoInputOutputFormatTest doesn't test the following case properly: when lists are written using the spec compliant 3-level structure. The test actually doesn't write 3-level list, because the passed configuration is not used at all, a new one is created each time. See attached PR.
When I fixed this test, it turned out that it is failing: now it writes the correct 3-level structure, but looks like the read path is broken. Is it indeed a bug, or I'm doing something wrong?