private void tranverse(Graphics g, Component jc, Tranverse trans, int ad) {
if (isDesigningWidget(jc))
trans.paint(g, jc);
WidgetAdapter widget = WidgetAdapter.getWidgetAdapter(jc);
if (widget instanceof CompositeAdapter) {
CompositeAdapter parent = (CompositeAdapter) widget;
int size = parent.getChildCount();
for (int i = 0; i < size; i++) {
Component child = parent.getChild(i);
Rectangle rect = new Rectangle(0, 0, child.getWidth(), child.getHeight());
rect = SwingUtilities.convertRectangle(child, rect, jc);
Graphics clipg = g.create(rect.x, rect.y, rect.width + 2 * ad, rect.height + 2 * ad);
tranverse(clipg, (JComponent) child, trans, ad);
clipg.dispose();