public static function &getInstance($component, array $values = array(), $section = 'auto')
{
$tempInstance = false;
if (isset($values['tempInstance'])) {
$tempInstance = $values['tempInstance'];
unset($values['tempInstance']);
}
if ($tempInstance) {
return self::makeInstance($component, $values, $section);
}
$signature = md5($component . '@' . $section);
if (!isset(self::$instances[$signature])) {
self::$instances[$signature] = self::makeInstance($component, $values, $section);
}
return self::$instances[$signature];
}