public void putAll(int index, Collection<? extends E> coll) {
    	if (coll instanceof IList) {
    		putAll(index, (IList<? extends E>) coll);
    	} else if (coll instanceof List) {
    		putAll(index, new IReadOnlyListFromList<E>((List<? extends E>) coll));
    	} else {
    		putAll(index, new IReadOnlyListFromCollection<E>(coll));
    	}
    }
Set or add the specified elements.
If the index is smaller than the size of the list, the existing element is replaced.
If the index equals the size of the list, the element is added.

@param index index of first element to set or add
@param coll  collection with elements to set or add
jphp-runtime/src/php/runtime/memory/support/IList.java