// Check if the raster is wide enough to do _any_ work
if (w < (2*skipX)+boxSz) return dest;
if (h < (2*skipY)) return dest;
final SinglePixelPackedSampleModel srcSPPSM =
(SinglePixelPackedSampleModel)src.getSampleModel();
final SinglePixelPackedSampleModel dstSPPSM =
(SinglePixelPackedSampleModel)dest.getSampleModel();
// Stride is the distance between two consecutive column elements,
// in the one-dimention dataBuffer
final int srcScanStride = srcSPPSM.getScanlineStride();
final int dstScanStride = dstSPPSM.getScanlineStride();
// Access the integer buffer for each image.
DataBufferInt srcDB = (DataBufferInt)src.getDataBuffer();
DataBufferInt dstDB = (DataBufferInt)dest.getDataBuffer();
// Offset defines where in the stack the real data begin
final int srcOff
= (srcDB.getOffset() +
srcSPPSM.getOffset
(src.getMinX()-src.getSampleModelTranslateX(),
src.getMinY()-src.getSampleModelTranslateY()));
final int dstOff
= (dstDB.getOffset() +
dstSPPSM.getOffset
(dest.getMinX()-dest.getSampleModelTranslateX(),
dest.getMinY()-dest.getSampleModelTranslateY()));
// Access the pixel value array
final int srcPixels [] = srcDB.getBankData()[0];