@Override
  protected final @Nullable String getValue() {
    final Pair<String, Icon> pair = (Pair<String, Icon>)getComponent().getSelectedItem();
    return pair == null || pair == EMPTY ? null : pair.first;
  }
@Override
  protected final @Nullable String getValue()