void doTransferSwap(int srcIndex, IList<E> dst, int dstIndex, int len) {
    	checkRange(srcIndex, len);
    	dst.checkRange(dstIndex, len);

		for (int i=0; i<len; i++) {
    		E swap = doGet(srcIndex+i);
    		swap = dst.doSet(dstIndex+i, swap);
    		doSet(srcIndex+i, swap);
		}
    }
Swaps elements from two lists.
The size of both source and destination list do not change.

If source and destination list are identical, the method behaves like {@link #swap(int, int, int)}.

@param src		first list
@param srcIndex	index of first element in first list
@param dst		second list
@param dstIndex	index of first element in second list
@param len		number of elements to swap
@param <E> 		type of elements stored in the list
@throws 			IndexOutOfBoundsException if the ranges are invalid
jphp-runtime/src/php/runtime/memory/support/IList.java