imageRect,
currentRect,
		public void paint(Graphics g) {			oldRect = null;			if (localCurrentPicture != loader.pictureShowNow) {				cacheRect = null;				localCurrentPicture = loader.pictureShowNow;			}			if (loader.pictureShowNow == null || loader.imageShowNow == null || loader.pictureShowNow.isOnline()) {				cacheRect = null;				return;			}			if (imageRect != null && start != null && end != null) {				Rectangle ct = loader.pictureShowNow.getCropTo();				if (ct != null) {					AffineTransform t = ImageUtils.createTransform(							getBounds(),							imageRect,							loader.pictureShowNow.getDimension(),							loader.pictureShowNow.getAngle(),							loader.pictureShowNow.isFlipped());					try {						cacheRect = getRect(t.inverseTransform(ct.getLocation(), null),								t.inverseTransform(new Point(ct.x + ct.width, ct.y + ct.height), null));						g.setColor(background);						g.setClip(imageRect);						g.fillRect(0, 0, cacheRect.x, getHeight());						g.fillRect(cacheRect.x, 0, getWidth() - cacheRect.x, cacheRect.y);						g.fillRect(cacheRect.x, cacheRect.y + cacheRect.height, getWidth() - cacheRect.x, getHeight() - cacheRect.y - cacheRect.height);						g.fillRect(cacheRect.x + cacheRect.width, cacheRect.y, getWidth() - cacheRect.x - cacheRect.width, cacheRect.height);						g.setColor(Color.black);						g.drawRect(cacheRect.x,  cacheRect.y, cacheRect.width, cacheRect.height);						g.setClip(null);					} catch (NoninvertibleTransformException e) {						Log.logException(Log.LEVEL_ERROR, MODULE, e);					}				} else {					if (movingEdge == 0) {						// only blank the cacheRect if we're not busy modifying it						cacheRect = null;					}				}			} else {				cacheRect = null;			}			paintInfo(g);		}