private void addLoadingIcon() {
    JLabel label = new JLabel();
    label.setName(LOADING_LABEL);
    label.setBorder(getActionButtonBorder());
    if (this instanceof PopupToolbar) {
      label.setIcon(AnimatedIcon.Default.INSTANCE);
    }
    else {
      boolean suppressLoading = ActionPlaces.MAIN_TOOLBAR.equals(myPlace) ||
                                ActionPlaces.NAVIGATION_BAR_TOOLBAR.equals(myPlace) ||
                                ActionPlaces.TOOLWINDOW_TITLE.equals(myPlace) ||
                                ActionPlaces.WELCOME_SCREEN.equals(myPlace);
      if (suppressLoading) {
        label.setIcon(EmptyIcon.create(16, 16));
      }
      else {
        AnimatedIcon icon = AnimatedIcon.Default.INSTANCE;
        label.setIcon(EmptyIcon.create(icon.getIconWidth(), icon.getIconHeight()));
        EdtScheduledExecutorService.getInstance().schedule(() -> {
          label.setIcon(icon);
        }, Registry.intValue("actionSystem.toolbar.progress.icon.delay", 500), TimeUnit.MILLISECONDS);
      }
    }
    myForcedUpdateRequested = true;
    add(label);
    updateMinimumButtonSize();
  }
private void addLoadingIcon()