public void draw(Graphics g) {
		validateCache();
		if (((GFillable) target).isFilled()) {
			g.setColor(((GFillable) target).getFillColor());
			g.fillPolygon(poly.xpoints, poly.ypoints, poly.npoints);
			g.setColor(target.getColor());
			g.drawPolygon(poly.xpoints, poly.ypoints, poly.npoints);
		} else if (target instanceof GArc) {
			g.drawPolyline(poly.xpoints, poly.ypoints, poly.npoints - 1);
		} else {
			g.drawPolygon(poly.xpoints, poly.ypoints, poly.npoints);
		}
	}