protected function _getObserversIndexedByClass()
{
if (is_null($observers =& $this->_observersIndexedByClass)) {
$observers = array();
$cacheObserverConfig = Mage::getConfig()->getNode(self::XML_PATH_CACHEOBSERVER);
if (!$cacheObserverConfig) {
return $observers;
}
foreach ($cacheObserverConfig->children() as $node) {
$observer = $this->_configNodeToObserver($node);
foreach ($observer['classes'] as $class) {
if (!array_key_exists($class, $observers)) {
$observers[$class] = array($observer['observer']);
} else {
$observers[$class] = array_merge($observers[$class], array($observer['observer']));
}
}
}
}
return $observers;
}