/**
* Constructor.
*
* @param string $name The event name.
* @param array $arguments The event arguments.
*
* @throws BadMethodCallException
*
* @since 4.0.0
*/
public function __construct($name, array $arguments = array())
{
parent::__construct($name, $arguments);
// Check for required arguments
if (!\array_key_exists('asset', $arguments) || !$arguments['asset'] instanceof WebAssetItemInterface) {
throw new BadMethodCallException("Argument 'asset' of event {$name} is not of the expected type");
}
if (!\array_key_exists('assetType', $arguments) || !is_string($arguments['assetType'])) {
throw new BadMethodCallException("Argument 'assetType' of event {$name} is not of the expected type");
}
if (!\array_key_exists('change', $arguments) || !is_string($arguments['change'])) {
throw new BadMethodCallException("Argument 'change' of event {$name} is not of the expected type");
}
}