@Override
    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
    """
	Draws the image resulting from applying the {@code BufferedImageOp}
	to the specified image at the location {@code (x, y)}.
	
	@param img  the image.
	@param op  the operation ({@code null} permitted).
	@param x  the x-coordinate.
	@param y  the y-coordinate.
    """
        BufferedImage imageToDraw = img;
        if (op != null) {
            imageToDraw = op.filter(img, null);
        }
        drawImage(imageToDraw, new AffineTransform(1f, 0f, 0f, 1f, x, y), null);
    }
@Override
    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
        BufferedImage imageToDraw = img;
        if (op != null) {
            imageToDraw = op.filter(img, null);
        }
        drawImage(imageToDraw, new AffineTransform(1f, 0f, 0f, 1f, x, y), null);
    }
@ Override public void drawImage ( BufferedImage img , BufferedImageOp op , int x , int y ) { BufferedImage imageToDraw = img ; if ( op != null ) { imageToDraw = op . filter ( img , null ) ; } drawImage ( imageToDraw , new AffineTransform ( 1f , 0f , 0f , 1f , x , y ) , null ) ; }
Draws the image resulting from applying the {@code BufferedImageOp}
to the specified image at the location {@code (x, y)}.

@param img  the image.
@param op  the operation ({@code null} permitted).
@param x  the x-coordinate.
@param y  the y-coordinate.
Draws the image resulting from applying the { @code BufferedImageOp } to the specified image at the location { @code ( x y ) } .