@Override
public void updateBounds( double x, double y, double width, double height, double factorW, double factorH, boolean components ) {
super.updateBounds( x, y, width, height, factorW, factorH, components );
if( child != null ){
Rectangle bounds = new Rectangle( (int)(x * factorW), (int)(y * factorH), (int)(width * factorW), (int)(height * factorH));
Rectangle refitted = getAccess().getSpanStrategy().modifyBounds( bounds, this );
if( !bounds.equals( refitted ) && factorW > 0 && factorH > 0 ){
x = refitted.x / factorW;
y = refitted.y / factorH;
width = refitted.width / factorW;
height = refitted.height / factorH;
}
child.updateBounds( x, y, width, height, factorW, factorH, components );
}
treeChanged = false;
}