diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
index b97bb5d5d1e2d760c2e584cec76a8a7757c0b11b..ef5669e8184e53904490b2b4c3a2d6f159ab4824 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php
@@ -516,7 +516,7 @@ public function postSave(EntityStorageInterface $storage, $update = TRUE) {
   public function validate() {
     $this->validated = TRUE;
     $violations = $this->getTypedData()->validate();
-    return new EntityConstraintViolationList($this, iterator_to_array($violations));
+    return new EntityConstraintViolationList($this, $violations);
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php b/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
index 2537c6bfd7c291b603d358f1248eb28605adf47b..8b711537581c2a9ed12032c42dbd5ac5968e487a 100644
--- a/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
+++ b/core/lib/Drupal/Core/Entity/EntityConstraintViolationList.php
@@ -44,10 +44,10 @@ class EntityConstraintViolationList extends ConstraintViolationList implements E
    *
    * @param \Drupal\Core\Entity\FieldableEntityInterface $entity
    *   The entity that has been validated.
-   * @param array $violations
-   *   The array of violations.
+   * @param iterable $violations
+   *   The set of violations.
    */
-  public function __construct(FieldableEntityInterface $entity, array $violations = []) {
+  public function __construct(FieldableEntityInterface $entity, iterable $violations = []) {
     parent::__construct($violations);
     $this->entity = $entity;
   }