public Raster createChild(int parentX, int parentY, int width, int height,
int childMinX, int childMinY, int bandList[]) {
if (width <= 0 || height <= 0) {
// awt.285=Width or Height of child Raster is less than or equal to zero
throw new RasterFormatException(Messages.getString("awt.285")); //$NON-NLS-1$
}
if (parentX < this.minX || parentX + width > this.minX + this.width) {
// awt.286=parentX disposes outside Raster
throw new RasterFormatException(Messages.getString("awt.286")); //$NON-NLS-1$
}
if (parentY < this.minY || parentY + height > this.minY + this.height) {
// awt.287=parentY disposes outside Raster
throw new RasterFormatException(Messages.getString("awt.287")); //$NON-NLS-1$
}
if ((long) parentX + width > Integer.MAX_VALUE) {
// awt.288=parentX + width results in integer overflow
throw new RasterFormatException(Messages.getString("awt.288")); //$NON-NLS-1$
}
if ((long) parentY + height > Integer.MAX_VALUE) {
// awt.289=parentY + height results in integer overflow
throw new RasterFormatException(Messages.getString("awt.289")); //$NON-NLS-1$
}
if ((long) childMinX + width > Integer.MAX_VALUE) {
// awt.28A=childMinX + width results in integer overflow
throw new RasterFormatException(Messages.getString("awt.28A")); //$NON-NLS-1$
}
if ((long) childMinY + height > Integer.MAX_VALUE) {
// awt.28B=childMinY + height results in integer overflow
throw new RasterFormatException(Messages.getString("awt.28B")); //$NON-NLS-1$
}
SampleModel childModel;
if (bandList == null) {