if (ox + w > image.getWidth()) throw new IllegalArgumentException("ox + w (" + (ox + w) + ") > max width (" + image.getWidth() + ")");
	public PartOfGrayscaleImage(GrayscaleImage image, int ox, int oy, int w, int h) {		if (image == null)			throw new NullPointerException("image == null");		this.image = image;		if (ox < 0 || ox > image.getWidth())			throw new IllegalArgumentException("ox out of bounds");		this.ox = ox;		if (oy < 0 || oy > image.getHeight())			throw new IllegalArgumentException("oy out of bounds");		this.oy = oy;		if (ox + w > image.getWidth())			throw new IllegalArgumentException("ox + w (" + (ox + w) + ") > max width (" + 					image.getWidth() + ")");		width = w;		if (oy + h > image.getHeight())			throw new IllegalArgumentException("oy + h (" + (oy + h) + ") > max height (" +					image.getHeight() + ")");		height = h;	}