@NotNull
  public <V> ListSelection<V> map(@NotNull NullableFunction<? super T, ? extends V> convertor) {
    int newSelectionIndex = -1;
    List<V> result = new ArrayList<>();
    for (int i = 0; i < myList.size(); i++) {
      if (i == mySelectedIndex) newSelectionIndex = result.size();
      V out = convertor.fun(myList.get(i));
      if (out != null) result.add(out);
    }

    return new ListSelection<>(result, newSelectionIndex, myExplicitSelection);
  }
@NotNull
  public <V> ListSelection<V> map(@NotNull NullableFunction<? super T, ? extends V> convertor)