AvlTree set()

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);
      }
    }