public function getIterator() : \Traversable { if (!\is_array($value = $this->getValue())) { throw new \LogicException(\sprintf('"%s" object holds non-iterable type "%s".', self::class, get_debug_type($value))); } yield from $value; }