/**
  * "Destructor": foribly free all references held by this object
  *
  * @param bool $recursive if true, call dispose on all children
  */
 function dispose($recursive = false)
 {
     if ($recursive) {
         while ($child = $this->get_first_child()) {
             $child->dispose(true);
         }
     }
     $this->_root = null;
     unset($this->_root);
     $this->_frame->dispose(true);
     $this->_frame = null;
     unset($this->_frame);
     $this->_positioner = null;
     unset($this->_positioner);
     $this->_reflower = null;
     unset($this->_reflower);
 }