in model/src/main/java/jetbrains/jetpad/model/collections/list/TreeList.java [130:146]
AvlTree<T> set(int index, T value) {
int leftSize = size(myLeft);
if (index < leftSize) {
if (myLeft == null) {
throw new IndexOutOfBoundsException();
}
return new AvlTree<>(myLeft.set(index, value), myRight, myValue);
} else if (index == leftSize) {
return new AvlTree<>(myLeft, myRight, value);
} else {
if (myRight == null) {
throw new IndexOutOfBoundsException();
}
return new AvlTree<>(myLeft, myRight.set(index - 1 - leftSize, value), myValue);
}
}