public void copy(int srcIndex, int dstIndex, int len) {
    	checkRange(srcIndex, len);
    	checkRange(dstIndex, len);

    	if (srcIndex < dstIndex) {
    		for (int i=len-1; i>=0; i--) {
    			doReSet(dstIndex+i, doGet(srcIndex+i));
    		}
    	} else if (srcIndex > dstIndex) {
    		for (int i=0; i<len; i++) {
    			doReSet(dstIndex+i, doGet(srcIndex+i));
    		}
    	}
    }
Copy specified elements.
Source and destination ranges may overlap.
The size of the list does not change.

@param srcIndex	index of first source element to copy
@param dstIndex	index of first destination element to copy
@param len		number of elements to copy
@throws 			IndexOutOfBoundsException if the ranges are invalid
jphp-runtime/src/php/runtime/memory/support/IList.java