protected static function uniqueName($name, $context)
{
$insensitiveKey = strtolower($name . '_' . $context);
$sensitiveKey = $name . '_' . $context;
if (array_key_exists($sensitiveKey, self::$uniqueNames)) {
return self::$uniqueNames[$sensitiveKey];
} elseif (!array_key_exists($insensitiveKey, self::$uniqueNames)) {
self::$uniqueNames[$insensitiveKey] = 0;
} else {
self::$uniqueNames[$insensitiveKey]++;
}
$uniqueName = $name . (self::$uniqueNames[$insensitiveKey] ? '_' . self::$uniqueNames[$insensitiveKey] : '');
self::$uniqueNames[$sensitiveKey] = $uniqueName;
return $uniqueName;
}