@Override
  protected @NotNull ListIterator<Object> getElementIterator(int startingViewIndex) {
    int count = getElementCount();
    return new AbstractList<>() {
      @Override
      public Object get(int index) {
        return index;
      }

      @Override
      public int size() {
        return count;
      }
    }.listIterator(startingViewIndex);
  }
@Override
  protected @NotNull ListIterator<Object> getElementIterator(int startingViewIndex)