public void extendParent(Object cell){
  if (cell != null) {
    Object parent=model.getParent(cell);
    mxGeometry p=model.getGeometry(parent);
    if (parent != null && p != null && !isCellCollapsed(parent)) {
      mxGeometry geo=model.getGeometry(cell);
      if (geo != null && (p.getWidth() < geo.getX() + geo.getWidth() || p.getHeight() < geo.getY() + geo.getHeight())) {
        p=(mxGeometry)p.clone();
        p.setWidth(Math.max(p.getWidth(),geo.getX() + geo.getWidth()));
        p.setHeight(Math.max(p.getHeight(),geo.getY() + geo.getHeight()));
        cellsResized(new Object[]{parent},new mxRectangle[]{p});
      }
    }
  }
}

public void extendParent ( Object cell ) { if ( cell != null ) { Object parent = model . getParent ( cell ) ; mxGeometry p = model . getGeometry ( parent ) ; if ( parent != null && p != null && ! isCellCollapsed ( parent ) ) { mxGeometry geo = model . getGeometry ( cell ) ; if ( geo != null && ( p . getWidth ( ) < geo . getX ( ) + geo . getWidth ( ) || p . getHeight ( ) < geo . getY ( ) + geo . getHeight ( ) ) ) { p = ( mxGeometry ) p . clone ( ) ; p . setWidth ( Math . max ( p . getWidth ( ) , geo . getX ( ) + geo . getWidth ( ) ) ) ; p . setHeight ( Math . max ( p . getHeight ( ) , geo . getY ( ) + geo . getHeight ( ) ) ) ; cellsResized ( new Object [ ] { parent } , new mxRectangle [ ] { p } ) ; } } } }
resizes the parents recursively so that they contain the complete area of the resized child cell .
