}
if(cm == model && model.getTransferType() == DataBuffer.TYPE_INT &&
raster.getNumDataElements() == 1){
DataBufferInt dbi = (DataBufferInt) raster.getDataBuffer();
int data[] = dbi.getData();
int scanline = raster.getWidth();
int rof = dbi.getOffset() + y * scanline + x;
for(int lineOff = off, line = y; line < y + h;
line++, lineOff += scansize, rof += scanline){
System.arraycopy(pixels, lineOff, data, rof, w);
}
}else if(isIntRGB){
int buff[] = new int[w];
DataBufferInt dbi = (DataBufferInt) raster.getDataBuffer();
int data[] = dbi.getData();
int scanline = raster.getWidth();
int rof = dbi.getOffset() + y * scanline + x;
for (int sy = y, sOff = off; sy < y + h; sy++, sOff += scansize,
rof += scanline) {
for (int sx = x, idx = 0; sx < x + w; sx++, idx++) {
buff[idx] = model.getRGB(pixels[sOff + idx]);