code: public void recomputeBounds()
      {
          bounds = new Rectangular(visual);
          for (int i = 0; i < getChildCount(); i++)
          {
              BoxNode child = (BoxNode) getChildAt(i);
              child.recomputeBounds();
              expandToEnclose(child);
          }
      }
docs: Recomputes the total bounds of the whole subtree. The bounds of each box will
  correspond to its visual bounds. If the child boxes exceed the parent box,
  the parent box bounds will be expanded accordingly.