public void paintGridMirrors(int w, int h, Graphics2D g2d) {

		if (type == DBC_ID || type == RBC_ID)
			return;
		if (mirrorBoxes == null)
			return;

		int dx, dy, x0, y0, x1, y1, x2, y2, lx, ly;
		synchronized (mirrorBoxes) {
			for (Rectangle rect : mirrorBoxes) {
				x0 = (int) x;
				y0 = (int) y;
				lx = (int) width;
				ly = (int) height;
				dx = (int) (rect.x - x);
				dy = (int) (rect.y - y);
				x1 = x0 + dx;
				y1 = y0 + dy;
				if (x1 < 0) {
					x0 -= x1;
					lx += x1;
				}
				if (y1 < 0) {
					y0 -= y1;
					ly += y1;
				}
				x2 = x1 + lx;
				y2 = y1 + ly;
				if (x2 > w) {
					lx -= x2 - w;
				}
				if (y2 > h) {
					ly -= y2 - h;
				}
				g2d.copyArea(x0, y0, lx, ly, dx, dy);
			}
		}

	}