@Override
  public void setSelectedItem(@Nullable Object item) {
    if (mySelection != item) {
      @SuppressWarnings("unchecked") T t = (T)item;
      mySelection = t;
      update();
    }
  }
@Override
  public void setSelectedItem(@Nullable Object item)