public function unserialize($data)
{
if (static::$securityProvider === null) {
throw new RuntimeException('You must set a security provider in order to use this class');
}
$data = unserialize($data);
if (false === ($data =& static::$securityProvider->verify($data))) {
throw new SecurityException("Your serialized closure might have been modified and it's unsafe to be unserialized." . "Make sure you are using the same security provider, with the same settings, " . "both for serialization and unserialization.");
}
parent::unserialize($data);
}