public void paint(Graphics g,Shape a){
  if (a == null) {
    return;
  }
  Rectangle r;
  if (a instanceof Rectangle) {
    r=(Rectangle)a;
  }
 else {
    r=a.getBounds();
  }
  painter.paint(g,r.x,r.y,r.width,r.height,this);
  super.paint(g,a);
}

public void paint ( Graphics g , Shape a ) { if ( a == null ) { return ; } Rectangle r ; if ( a instanceof Rectangle ) { r = ( Rectangle ) a ; } else { r = a . getBounds ( ) ; } painter . paint ( g , r . x , r . y , r . width , r . height , this ) ; super . paint ( g , a ) ; }
renders using the given rendering surface and area on that surface . this is implemented to delegate to the superclass after stashing the base coordinate for tab calculations .
