function _fetch($check)
 {
     $valid = parent::_fetch($check);
     if (!$check || $valid) {
         $iterator = $this->getInnerIterator();
         if ($this->hasChildren = $iterator->hasChildren()) {
             $this->getChildren = new RecursiveCachingIterator($iterator->getChildren(), $this->getFlags());
         } else {
             $this->getChildren = NULL;
         }
     }
     return $valid;
 }