public function getLayoutXml() {
        Varien_Profiler::start('turpentine::helper::esi::getLayoutXml');
        if (is_null($this->_layoutXml)) {
            if ($useCache = Mage::app()->useCache('layout')) {
                $cacheKey = $this->getFileLayoutUpdatesXmlCacheKey();
                $this->_layoutXml = simplexml_load_string(
                    Mage::app()->loadCache($cacheKey) );
            }
            // this check is redundant if the layout cache is disabled
            if ( ! $this->_layoutXml) {
                $this->_layoutXml = $this->_loadLayoutXml();
                if ($useCache) {
                    Mage::app()->saveCache($this->_layoutXml->asXML(),
                        $cacheKey, array('LAYOUT_GENERAL_CACHE_TAG'));
                }
            }
        }
        Varien_Profiler::stop('turpentine::helper::esi::getLayoutXml');
        return $this->_layoutXml;
    }