private void traverseDot(PrintWriter printWriter, Set set) { if (!set.contains(this)) { set.add(this); printWriter.println(new StringBuilder().append("\tnode").append(this.getID()).append(" [ label=").append(this.getGDLLabel(this)).append(", color=").append(this.getGDLColor(this)).append(", shape=").append(this.getGDLShape(this)).append(" ]\n").toString()); GrammarArc[] successors = this.getSuccessors(); GrammarArc[] array = successors; int num = array.Length; for (int i = 0; i < num; i++) { GrammarArc grammarArc = array[i]; GrammarNode grammarNode = grammarArc.getGrammarNode(); float probability = grammarArc.getProbability(); printWriter.write(new StringBuilder().append("\tnode").append(this.getID()).append(" -> node").append(grammarNode.getID()).append(" [ label=").append(probability).append(" ]\n").toString()); grammarNode.traverseDot(printWriter, set); } } }