public String toString(StringBuilder all, StringBuilder word) {
        if (this.value > 0) {
            all.append(word.toString()).append(" ").append(this.value).append("\n");
        }
        if (this.nodes != null) {
            for (int i = 0; i < this.nodes.length; i++) {
                if (this.nodes[i] != null) {
                    char c = (char) (i + (int) 'a');
                    word.append(c);
                    this.nodes[i].toString(all, word);
                }
            }            
        }
        try {
            word.deleteCharAt(word.length() - 1);
        }
        catch (IndexOutOfBoundsException e) {}
        return all.toString();
    }