static L printDeadlocks() { long ids[] = ManagementFactory.getThreadMXBean().findDeadlockedThreads(); if (empty(ids)) ret emptyList(); printAsciiHeading("DEADLOCKED THREADS!"); ThreadInfo threadInfo[] = bean.getThreadInfo(ids); int i = 0; for (ThreadInfo threadInfo1 : threadInfo) { print("Thread " + (++i) + "/" + l(threadInfo) + ": ID=" + threadInfo1.getThreadId() + ", name=" + quote(threadInfo1.getThreadName())); print(" Trying to lock: " + threadInfo1.getLockName() + " which is owned by thread " + threadInfo1.getLockOwnerId() + " (" + quote(threadInfo1.getLockOwnerName()) + ")"); } print(); ret asList(threadInfo); }