@Override
  public void setSelectedItem(Object item) {
    if (item == null ? selected == null : item.equals(selected)) return;
    selected = item;
    fireContentsChanged(this, -1, -1);
  }
@Override
  public void setSelectedItem(Object item)