protected function prepareKey(&$key)
{
// Compatible with almost all type key
if (is_object($key) && method_exists($key, '__toString')) {
$key = (string) $key;
}
if (!is_string($key)) {
return false;
}
$key = $this->caseSensitive ? $key : strtolower($key);
return true;
}