# insert method

void insert (int index, E element)

Inserts the object at position `index` in this list.

This increases the length of the list by one and shifts all objects at or after the index towards the end of the list.

An error occurs if the `index` is less than 0 or greater than length. An UnsupportedError occurs if the list is fixed-length.

## Implementation

    void insert(int index, E element) {
      RangeError.checkValueInInterval(index, 0, length, "index");
      if (index == this.length) {
        add(element);
        return;
      }
      // We are modifying the length just below the is-check. Without the check
      // Array.copy could throw an exception, leaving the list in a bad state
      // (with a length that has been increased, but without a new element).
      if (index is! int) throw new ArgumentError(index);
      this.length++;
      setRange(index + 1, this.length, this, index);
      this[index] = element;
    }