@NotNull
  @Override
  public List<JComponent> getAdditionalComponents(JRadioButton button, ModelScopeItem m, Disposable dialogDisposable) {
    VcsScopeItem model = (VcsScopeItem)m;
    DefaultComboBoxModel<LocalChangeList> comboBoxModel = model.getChangeListsModel();
    if (comboBoxModel == null) {
      return Collections.emptyList();
    }

    ComboBox<LocalChangeList> comboBox = new ComboBox<>();
    comboBox.setRenderer(SimpleListCellRenderer.create((@NotNull JBLabel label, @Nullable LocalChangeList value, int index) -> {
      int availableWidth = comboBox.getWidth(); // todo, is it correct?
      if (availableWidth <= 0) {
        availableWidth = JBUIScale.scale(200);
      }
      String text = value != null ? value.getName() : CodeInsightBundle.message("scope.option.uncommitted.files.all.changelists.choice");
      if (label.getFontMetrics(label.getFont()).stringWidth(text) >= availableWidth) {
        text = StringUtil.trimLog(text, 50);
      }
      label.setText(text);
    }));

    comboBox.setModel(comboBoxModel);
    comboBox.setEnabled(button.isSelected());
    button.addItemListener(e -> comboBox.setEnabled(button.isSelected()));
    ArrayList<JComponent> components = new ArrayList<>();
    components.add(comboBox);
    return components;
  }
@NotNull
  @Override
  public List<JComponent> getAdditionalComponents(JRadioButton button, ModelScopeItem m, Disposable dialogDisposable)