static S renderAllThreadsWithStackTraces() { ret renderAllThreadsWithStackTraces(Thread.getAllStackTraces()); } static S renderAllThreadsWithStackTraces(Map threadMap) { ret renderAllThreadsWithStackTraces(threadMap, "thread"); } static S renderAllThreadsWithStackTraces(Map threadMap, S threadDescription) { new StringBuilder buf; int n = 0; for (Thread t : threadMap.keySet()) { ThreadGroup g = t.getThreadGroup(); //if (g != null && g.getName().equals("system")) continue; ++n; printTo(buf, t); for (StackTraceElement e : threadMap.get(t)) printTo(buf, " " + e); printTo(buf); } printTo(buf, n(n, threadDescription) + "."); ret asciiHeading2(n2(n, threadDescription)) + "\n" + buf; }