My iteration process:
- Iterate over the symbols
- Check if a symbol is the first element of a block/paragraph/textline/word, if so, add to a map that maps from the symbol number to that element in builder form
- Then add children of every element by looking up in the map, problem is that the map contains a mapping from parent builder to children builders
- Then from bottom to top, build the elements, store a mapping of the builders and the built elements
- When going up, you use the other map to look up the children of the builder, and then the other mapping to get the built values, such t…