@Override
    protected void customizeCellRenderer(@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);
      }
    }
@Override
    protected void customizeCellRenderer(@NotNull JList<? extends ThreadState> list, ThreadState threadState, int index, boolean selected, boolean hasFocus)