code: public void walkJAXBElements(Object parent) {
          List children = getChildren(parent);
          if (children != null) {
  
              for (Object o : children) {
                  o = XmlUtils.unwrap(o);
  
                  if (o instanceof Child) {
                      ((Child) o).setParent(parent);
                  }
  
                  if (o instanceof Tbl) {
                      currentTables.push(new TableManager(docxFormatter, (Tbl) o));
                  }
  
                  this.apply(o);
  
                  if (this.shouldTraverse(o)) {
                      walkJAXBElements(o);
                  }
  
                  if (o instanceof Tbl) {
                      TableManager currentTable = currentTables.pop();
                      currentTable.setSkipIt(false);
                  }
              }
          }
      }
docs: Depth first