@Override public void visitTry(JCTry tree) { aPrint("try "); List<?> resources = readObject(tree, "resources", List.nil()); int len = resources.length(); switch (len) { case 0: break; case 1: print("("); JCVariableDecl decl = (JCVariableDecl) resources.get(0); flagMod = -1L & ~FINAL; printVarDefInline(decl); print(") "); break; default: println("("); indent++; int c = 0; for (Object i : resources) { align(); flagMod = -1L & ~FINAL; printVarDefInline((JCVariableDecl) i); if (++c == len) { print(") "); } else { println(";", (JCTree) i); } } indent--; } println("{"); indent++; for (JCStatement stat : tree.body.stats) print(stat); indent--; aPrint("}"); for (JCCatch catchBlock : tree.catchers) { printCatch(catchBlock); } if (tree.finalizer != null) { println(" finally {"); indent++; for (JCStatement stat : tree.finalizer.stats) print(stat); indent--; aPrint("}"); } println(tree); }