public function __construct($argumentName, $expectedType, $value = null, Exception $previous = null)
{
$parameters = ['%expectedType%' => $expectedType];
$this->setMessageTemplate("Argument '%argumentName%' is invalid: expected value to be of type '%expectedType%'");
if ($value) {
$this->setMessageTemplate("Argument '%argumentName%' is invalid: expected value to be of type '%expectedType%', got '%actualType%'");
$actualType = is_object($value) ? get_class($value) : gettype($value);
$parameters['%actualType%'] = $actualType;
}
/** @Ignore */
$this->addParameters($parameters);
$this->message = $this->getBaseTranslation();
}