for (Iterator ii=children.iterator(); ii.hasNext();) { sh=(ShapeGraphic) ii.next(); sh.drawLabel(g2); }
    protected void drawChildren(Graphics2D g2) {        ShapeGraphic sh;        for (Iterator ii=children.iterator(); ii.hasNext();) {            sh=(ShapeGraphic) ii.next();            sh.draw(g2);        }        // drawing the label used to be in the sh.draw() call but        // moved it here so that the labels don't get drawn over        // by the shape of the next item        for (Iterator ii=children.iterator(); ii.hasNext();) {            sh=(ShapeGraphic) ii.next();            sh.drawLabel(g2);        }    }