private void logStats(long totalExecutionTimeNs, Deque<String> indentationStack, StringBuilder sb, final boolean asciiArt, AsciiCallTreeSignatureFormatter callTreeAsciiFormatter) { appendTimesPercentTable(totalExecutionTimeNs, sb, asciiArt); appendCallTree(indentationStack, sb, asciiArt, callTreeAsciiFormatter); for (CallStackElement callStats : getChildren()) { if (!isRoot()) { if (isLastChild()) { indentationStack.add(" "); } else { indentationStack.add(asciiArt ? HORIZONTAL : "| "); } } callStats.logStats(totalExecutionTimeNs, indentationStack, sb, asciiArt, callTreeAsciiFormatter); if (!isRoot()) { indentationStack.pollLast(); } } }