/**
  * {@inheritdoc}
  */
 protected function initializeFromContext(ContextInterface $context)
 {
     parent::initializeFromContext($context);
     if (!$this->getSourceIterator()) {
         /** @var Channel $channel */
         $channel = $this->doctrineHelper->getEntityReference($this->channelClassName, $context->getOption('channel'));
         $iterator = $this->getExtendedMergeVarIterator($channel);
         $this->setSourceIterator($iterator);
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function initializeFromContext(ContextInterface $context)
 {
     parent::initializeFromContext($context);
     if (!$this->memberClassName) {
         throw new InvalidConfigurationException('Member class name must be provided');
     }
     if (!$this->getSourceIterator()) {
         /** @var Channel $channel */
         $channel = $this->doctrineHelper->getEntityReference($this->channelClassName, $context->getOption('channel'));
         $iterator = new MemberExportListIterator($this->getSubscribersListIterator($channel), $this->doctrineHelper);
         $iterator->setMemberClassName($this->memberClassName);
         $this->setSourceIterator($iterator);
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function initializeFromContext(ContextInterface $context)
 {
     parent::initializeFromContext($context);
     if (!$this->marketingListClassName) {
         throw new InvalidConfigurationException('MarketingList class name must be provided');
     }
     if (!$this->staticSegmentClassName) {
         throw new InvalidConfigurationException('StaticSegment class name must be provided');
     }
     if ($iterator = $this->getSourceIterator()) {
         $sourceIterator = clone $iterator;
         /** @var Channel $channel */
         $channel = $this->doctrineHelper->getEntityReference($this->channelClassName, $context->getOption('channel'));
         /** @var MemberSyncIterator $sourceIterator */
         $sourceIterator->setMainIterator($this->getStaticSegmentIterator($channel, $context->getOption('segments')));
         $this->setSourceIterator($sourceIterator);
     }
 }