public function __construct($argumentName, $value, $className = null, Exception $previous = null)
{
$valueStr = is_string($value) ? $value : var_export($value, true);
$parameters = ['%actualValue%' => $valueStr];
$this->setMessageTemplate("'%actualValue%' is wrong value");
if ($className) {
$this->setMessageTemplate("'%actualValue%' is wrong value in class '%className%'");
$parameters['%className%'] = $className;
}
$whatIsWrong = $this->getMessageTemplate();
parent::__construct($argumentName, $whatIsWrong, $previous);
// Alter the message template & inject new parameters.
/** @Ignore */
$this->setMessageTemplate(str_replace('%whatIsWrong%', $whatIsWrong, $this->getMessageTemplate()));
$this->addParameters($parameters);
$this->message = $this->getBaseTranslation();
}