public WritableRaster createWritableChild(int parentX, int parentY, int w,
int h, int childMinX, int childMinY, int bandList[]) {
if (w <= 0 || h <= 0) {
// awt.244=Width or Height of child Raster is less than or equal to zero
throw new RasterFormatException(Messages.getString("awt.244")); //$NON-NLS-1$
}
if (parentX < this.minX || parentX + w > this.minX + this.width) {
// awt.245=parentX disposes outside Raster
throw new RasterFormatException(Messages.getString("awt.245")); //$NON-NLS-1$
}
if (parentY < this.minY || parentY + h > this.minY + this.height) {
// awt.246=parentY disposes outside Raster
throw new RasterFormatException(Messages.getString("awt.246")); //$NON-NLS-1$
}
if ((long) parentX + w > Integer.MAX_VALUE) {
// awt.247=parentX + w results in integer overflow
throw new RasterFormatException(Messages.getString("awt.247")); //$NON-NLS-1$
}
if ((long) parentY + h > Integer.MAX_VALUE) {
// awt.248=parentY + h results in integer overflow
throw new RasterFormatException(Messages.getString("awt.248")); //$NON-NLS-1$
}
if ((long) childMinX + w > Integer.MAX_VALUE) {
// awt.249=childMinX + w results in integer overflow
throw new RasterFormatException(Messages.getString("awt.249")); //$NON-NLS-1$
}
if ((long) childMinY + h > Integer.MAX_VALUE) {
// awt.24A=childMinY + h results in integer overflow
throw new RasterFormatException(Messages.getString("awt.24A")); //$NON-NLS-1$
}
SampleModel childModel;
if (bandList == null) {