void (@NotNull JList<? extends ThreadState> list, ThreadState threadState, int index, boolean selected, boolean hasFocus) { setIcon(getThreadStateIcon(threadState)); if (!selected) { ThreadState selectedThread = list.getSelectedValue(); if (threadState.isDeadlocked()) { setBackground(LightColors.RED); } else if (selectedThread != null && threadState.isAwaitedBy(selectedThread)) { setBackground(JBColor.YELLOW); } else { setBackground(UIUtil.getListBackground()); } } SimpleTextAttributes attrs = getAttributes(threadState); append(threadState.getName() + " (", attrs); String detail = threadState.getThreadStateDetail(); if (detail == null) { detail = threadState.getState(); } if (detail.length() > 30) { detail = detail.substring(0, 30) + "..."; } append(detail, attrs); append(")", attrs); if (threadState.getExtraState() != null) { append(" [" + threadState.getExtraState() + "]", attrs); } }