### Question:
BufferedImages extends Static { public static Stream<Point> pointStream(Rectangle rectangle) { return LongStream.range(0, rectangle.width * rectangle.height).mapToObj((long value) -> { final int x = (int) (value % rectangle.width); final int y = (int) (value / rectangle.width); return new Point(rectangle.x + x, rectangle.y + y); }); }  static BufferedImage createImage(final RenderedImage reference, Integer width, Integer height, Integer nbBand, Integer dataType); static BufferedImage createImage(final RenderedImage reference, Integer width, Integer height, Integer nbBand, Integer dataType, double[] fillValue); static BufferedImage createImage(final int width, final int height, RenderedImage reference); static BufferedImage createImage(final int width, final int height, final int nbBand, final int dataType); static BufferedImage createImage(final int width, final int height, final int nbBand, final int dataType, double[] fillValue); static WritableRaster createRaster(int width, int height, int nbBand, int dataType, Point upperLeft); static WritableRaster createRaster(int width, int height, int nbBand, int dataType, Point upperLeft, double[] fillValue); static DataBuffer toDataBuffer(Object data); static DataBuffer toDataBuffer1D(Object data); static boolean isAll(RenderedImage img, double[] pixel); static void setAll(WritableRenderedImage img, double[] pixel); static void setAll(WritableRaster raster, double[] pixel); static boolean isPixelsIdenticals(RenderedImage image1, RenderedImage image2); static Stream<Point> pointStream(Rectangle rectangle); static Stream<Rectangle> tileStream(RenderedImage image, int top, int right, int bottom, int left); static Raster makeConform(Raster in, Raster rasterTemplate); static void mergeImages(RenderedImage source, WritableRenderedImage target, boolean filterByMask, TriFunction<Point, double[], double[], double[]> merger);  }### Answer:
@Test public void testPointStream() { final Stream<Point> stream = BufferedImages.pointStream(new Rectangle(10, 20, 3, 4)); Iterator<Point> ite = stream.sequential().iterator(); Assert.assertEquals(new Point(10, 20), ite.next()); Assert.assertEquals(new Point(11, 20), ite.next()); Assert.assertEquals(new Point(12, 20), ite.next()); Assert.assertEquals(new Point(10, 21), ite.next()); Assert.assertEquals(new Point(11, 21), ite.next()); Assert.assertEquals(new Point(12, 21), ite.next()); Assert.assertEquals(new Point(10, 22), ite.next()); Assert.assertEquals(new Point(11, 22), ite.next()); Assert.assertEquals(new Point(12, 22), ite.next()); Assert.assertEquals(new Point(10, 23), ite.next()); Assert.assertEquals(new Point(11, 23), ite.next()); Assert.assertEquals(new Point(12, 23), ite.next()); Assert.assertFalse(ite.hasNext()); }