Recovering the shape would be up to you to figure out as the implementer. But if you can't, then define a new message which can contain the information you're interested in. That tutorial you linked to is pretty straight forward. You need an array of arrays (of arrays? if that 3rd level ever changes). Then do what you did here to populate it.
↧