text: public void add(int index, T element) {if (index == size) {add(element);} else if (index < 0 || size < index) {throw new IndexOutOfBoundsException(String.valueOf(index));} else {add(null); for (int oldIdx = size - 2; index <= oldIdx; oldIdx--)set(oldIdx + 1, get(oldIdx));set(index, element);}}