@Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    if (StartupUiUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) {
      return;
    }

    if (getState() == State.DONT_CARE) {
      Icon icon = getIcon();
      if (icon == null) {
        icon = UIManager.getIcon("CheckBox.icon");
      }
      if (StartupUiUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) {
        icon = JBUIScale.scaleIcon(EmptyIcon.create(20, 18));
      }
      if (icon != null) {
        final Insets i = getInsets();
        final Rectangle r = getBounds();
        final Rectangle r1 = new Rectangle();
        r1.x = i.left;
        r1.y = i.top;
        r1.width = r.width - (i.right + r1.x);
        r1.height = r.height - (i.bottom + r1.y);

        final Rectangle r2 = new Rectangle();
        final Rectangle r3 = new Rectangle();
        String text = getText();
        SwingUtilities.layoutCompoundLabel(
          this, getFontMetrics(getFont()), text, icon,
          getVerticalAlignment(), getHorizontalAlignment(),
          getVerticalTextPosition(), getHorizontalTextPosition(),
          r1, r2, r3,
          text == null ? 0 : getIconTextGap());

        // selected table cell: do not paint white on white
        g.setColor(UIUtil.getTreeForeground());
        int height = r2.height / 10;
        int width = r2.width / 3;
        g.fillRect(r2.x + r2.width / 2 - width / 2, r2.y + r2.height / 2 - height / 2, width, height);
      }
    }
  }
@Override
  protected void paintComponent(Graphics g)