private static StringBuilder showSubNodes(StringBuilder sB, Object[] items, int nextIndent) {
        boolean isFirst = true;
        for (Object n : items) {
            if (isFirst) {
                isFirst = false;
            } else {
//                sB.append(" ");
                if (items[0] instanceof Leaf) {
                    sB.append(" ");
                } else {
                    sB.append("\n").append(indentSpace(nextIndent));
                }
            }
            sB.append(((Node) n).indentedStr(nextIndent));
        }
        return sB;
    }
private static StringBuilder showSubNodes(StringBuilder sB, Object[] items, int nextIndent) {
        boolean isFirst = true;
        for (Object n : items) {
            if (isFirst) {
                isFirst = false;
            } else {

                if (items[0] instanceof Leaf) {
                    sB.append(" ");
                } else {
                    sB.append("\n").append(indentSpace(nextIndent));
                }
            }
            sB.append(((Node) n).indentedStr(nextIndent));
        }
        return sB;
    }
private static StringBuilder showSubNodes ( StringBuilder sB , Object [ ] items , int nextIndent ) { boolean isFirst = true ; for ( Object n : items ) { if ( isFirst ) { isFirst = false ; } else { //                sB.append(" "); if ( items [ 0 ] instanceof Leaf ) { sB . append ( " " ) ; } else { sB . append ( "\n" ) . append ( indentSpace ( nextIndent ) ) ; } } sB . append ( ( ( Node ) n ) . indentedStr ( nextIndent ) ) ; } return sB ; }
=============================== Debugging and pretty-printing ===============================
=============================== Debugging and pretty - printing ===============================