code: public static void copy( int srcX , int srcY , int dstX , int dstY , int width , int height ,
  							 InterleavedI16 input , InterleavedI16 output ) {
  
  		if( input.width < srcX+width || input.height < srcY+height )
  			throw new IllegalArgumentException("Copy region must be contained input image");
  		if( output.width < dstX+width || output.height < dstY+height )
  			throw new IllegalArgumentException("Copy region must be contained output image");
  		if( output.numBands != input.numBands )
  			throw new IllegalArgumentException("Number of bands must match. "+input.numBands+" != "+output.numBands);
  
  		final int numBands = input.numBands;
  
  		for (int y = 0; y < height; y++) {
  			int indexSrc = input.startIndex + (srcY + y) * input.stride + srcX*numBands;
  			int indexDst = output.startIndex + (dstY + y) * output.stride + dstX*numBands;
  
  			System.arraycopy(input.data,indexSrc,output.data,indexDst,width*numBands);
  		}
  	}
docs: Copies a rectangular region from one image into another.<br>
  output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
  
  @param srcX x-coordinate of corner in input image
  @param srcY y-coordinate of corner in input image
  @param dstX x-coordinate of corner in output image
  @param dstY y-coordinate of corner in output image
  @param width Width of region to be copied
  @param height Height of region to be copied
  @param input Input image
  @param output output image