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()));
			}
		}
	}
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 ( ) ) ) ; } } }
--- RECURSIVE WRITE ---