getInnerIterator()->hasChildren(); } /** @return an iterator for the current elements children * * @note the returned iterator will be of the same class as $this */ function getChildren() { if (empty($this->ref)) { $this->ref = new ReflectionClass($this); } return $this->ref->newInstance($this->getInnerIterator()->getChildren()); } private $ref; } ?>