((Graphics2D)g).rotate(rotationAngle, point1.x+width/2, point1.y+height/2);
rotate((Graphics2D)g);
    public void render(Graphics g) {	if (getNeedToRegenerate() || getNeedToReposition() || !isVisible()) {	    if (DEBUG) Debug.output("OMRasterObject.render(): need to regenerate or not visible!");	    return;	}        //copy the graphic, so our transform doesn't cascade to others...        g = g.create();	// Just a little check to find out if someone is rushing	// things.  If a Image isn't fully loaded, the getWidth will	// return -1.  This is just a courtesy notification in case	// someone isn't seeing their image, and don't know why.	if (colorModel == COLORMODEL_IMAGEICON && (getWidth() == -1)) {	    Debug.error("OMRasterObject.render: Attempting to draw a Image that is not ready! Image probably wasn't available.");	}	if (g instanceof Graphics2D && rotationAngle != DEFAULT_ROTATIONANGLE) {	    //rotate about our image center point	    ((Graphics2D)g).rotate(rotationAngle, point1.x+width/2, point1.y+height/2);	}	if (bitmap != null) {	    if (isSelected() || 		Debug.debugging("rasterobjects")) {		super.render(g);	    }	    if (DEBUG) {		Debug.output("OMRasterObject.render() | drawing " + 			     width + "x" + height + " image at " + 			     point1.x + ", " + point1.y);	    }	    if (g instanceof Graphics2D && bitmap instanceof RenderedImage) {		// Affine translation for placement...		((Graphics2D)g).drawRenderedImage((BufferedImage)bitmap, 		        new AffineTransform(1f, 0f, 0f, 1f, point1.x, point1.y));		// Undo the affine translation for future graphics??		((Graphics2D)g).translate(-point1.x, -point1.y);	    } else {		g.drawImage(bitmap, point1.x, point1.y, this);	    }	} else {	    if (DEBUG) Debug.output("OMRasterObject.render: ignoring null bitmap");	}    }