code: protected static final void write(StringBuilder builder, Tree node, Tree zeroIndexes) {
  		int startIndex = zeroIndexes == null ? 1 : Integer.MIN_VALUE;
  		for (Tree child : node) {
  			if (child.isStructure()) {
  				write(builder, child, zeroIndexes);
  			} else {
  				if (startIndex == Integer.MIN_VALUE) {
  					startIndex = zeroIndexes.get(node.getName(), 1);
  				}
  				append(builder, child.getPath(startIndex), String.valueOf(child.asString()));
  			}
  		}
  	}
docs: --- RECURSIVE WRITE ---