if(_empty) return;
	public void postPaint(java.awt.Graphics2D g) {		// overridden method to paint stuff _after_ graph elements		// have been drawn		FontMetrics fm = g.getFontMetrics();		int fheight = fm.getAscent();		// show node name/id		Iterator i =_registry.getNodeItems();		while(_settings.getBoolean(RenderSettings.SHOW_LABELS) && i.hasNext()) {			NodeItem item = (NodeItem) i.next();			PNode n = (PNode) item.getEntity();			Vertex v = n.v();			int x = 10 + (int) _registry.getNodeItem(n).getX();			int y = 10 + (int) _registry.getNodeItem(n).getY();			Rectangle rect = new Rectangle(x - 2, y - fheight, fm.stringWidth(v.id()) + 4, fheight + 2);			setAlpha(g, TRANSPARENCY);			g.setPaint(Color.WHITE);			g.fill(rect);			setAlpha(g, 1.0f);			g.setPaint(Color.BLACK);			g.draw(rect);			g.drawString(v.id(), x, y);		}		// show edge length		i =_registry.getEdgeItems();		double x1, y1, x2, y2;		double theta;		g.setPaint(Color.RED);		g.setFont(new Font(g.getFont().getName(), g.getFont().getStyle(), 8));		while(_settings.getBoolean(RenderSettings.SHOW_LENGTH) && i.hasNext()) {			EdgeItem item = (EdgeItem) i.next();			PEdge p = (PEdge) item.getEntity();			PNode v1 = PNode.v2p((Vertex) p.e().getEnds().car());			PNode v2 = PNode.v2p((Vertex) p.e().getEnds().cdr());			x1 = _registry.getNodeItem(v1).getX();			y1 = _registry.getNodeItem(v1).getY();			x2 = _registry.getNodeItem(v2).getX();			y2 = _registry.getNodeItem(v2).getY();			theta = getTheta((int) x1, (int) y1, (int) x2, (int) y2);			String label = "[" + p.e().length() + "]";			g.translate((x1+x2)/2, (y1+y2)/2);			g.rotate(theta);			g.drawString(label, 0, 0);			g.rotate(-theta);			g.translate(-(x1+x2)/2, -(y1+y2)/2);		}	}