protected function loadRecursive() { if ($this->_cacheAvailable && !$this->_dataCached) { $stack = $this->getPage()->getCachingStack(); $stack->push($this); parent::loadRecursive(); $stack->pop(); } else { if ($this->_dataCached) { $this->performActions(); } parent::loadRecursive(); } }