/**
  * @param ConcreteValueInterface      $value
  * @param ValidationResult            $result
  * @param Exception|null              $previous
  * @param IssueRendererInterface|null $issueRenderer
  */
 public function __construct(ConcreteValueInterface $value, ValidationResult $result, Exception $previous = null, IssueRendererInterface $issueRenderer = null)
 {
     if (null === $issueRenderer) {
         $issueRenderer = new IssueRenderer();
     }
     $this->value = $value;
     $this->result = $result;
     $this->issueRenderer = $issueRenderer;
     parent::__construct(sprintf("Invalid schema:\n%s", $issueRenderer->renderManyString($result->issues())), 0, $previous);
 }
 /**
  * @param ValueInterface              $value
  * @param ConstraintInterface         $constraint
  * @param ValidationResult            $result
  * @param Exception|null              $previous
  * @param IssueRendererInterface|null $issueRenderer
  */
 public function __construct(ValueInterface $value, ConstraintInterface $constraint, ValidationResult $result, Exception $previous = null, IssueRendererInterface $issueRenderer = null)
 {
     if (null === $issueRenderer) {
         $issueRenderer = new IssueRenderer();
     }
     $this->value = $value;
     $this->constraint = $constraint;
     $this->result = $result;
     $this->issueRenderer = $issueRenderer;
     parent::__construct(sprintf("The provided value is not valid against the given constraint:\n%s", $issueRenderer->renderManyString($result->issues())), 0, $previous);
 }