static void printExplainTree(Explain e) { printExplainTree(0, e); } static void printExplainTree(int indent, Explain e) { boolean printNulls = false; if (e == null) { // this would print "null" for every <identifier> etc if (printNulls) print(indent(indent) + "null"); } else { print(indent(indent) + e.className() + " | " + e.string()); for (Explain sub : e.subs) printExplainTree(indent+2, sub); } }