public function addIterableEvent(IterableEvent $iterableEvent) { if (!$this->isIterable()) { throw new InvalidArgumentException('Not an iterable call.'); } if ($this->endEvent) { throw new InvalidArgumentException('Call already completed.'); } $iterableEvent->setCall($this); $this->iterableEvents[] = $iterableEvent; }