private static Icon getThreadStateIcon(ThreadState threadState) {
    boolean daemon = threadState.isDaemon();
    if (threadState.isSleeping()) {
      return daemon ? PAUSE_ICON_DAEMON : AllIcons.Actions.Pause;
    }
    if (threadState.isWaiting()) {
      return daemon ? LOCKED_ICON_DAEMON : AllIcons.Debugger.MuteBreakpoints;
    }
    if (threadState.getOperation() == ThreadOperation.Socket) {
      return daemon ? SOCKET_ICON_DAEMON : Socket;
    }
    if (threadState.getOperation() == ThreadOperation.IO) {
      return daemon ? IO_ICON_DAEMON : AllIcons.Actions.MenuSaveall;
    }
    if (threadState.isEDT()) {
      if ("idle".equals(threadState.getThreadStateDetail())) {
        return daemon ? IDLE_ICON_DAEMON : Idle;
      }
      return daemon ? EDT_BUSY_ICON_DAEMON : AllIcons.Actions.ProfileCPU;
    }
    return daemon ? RUNNING_ICON_DAEMON : AllIcons.Actions.Resume;
  }
private static Icon getThreadStateIcon(ThreadState threadState)