/**
  * {@inheritdoc}
  */
 public function process($entity)
 {
     if (!$this->isProcessingAllowed($entity)) {
         $this->appendDataToContext(self::NEWSLETTER_SUBSCRIBER_POST_PROCESS, $this->context->getValue('itemData'));
         return null;
     }
     return parent::process($entity);
 }
 /**
  * @depends testProcessChangeExisting
  */
 public function testProcessChangeNewEntity()
 {
     $now = new \DateTime('now', new \DateTimeZone('UTC'));
     $createdAt = clone $now;
     $createdAt->modify('-2 days');
     $updateAt = clone $now;
     $updateAt->modify('-1 day');
     /** @var NewsletterSubscriber $newsletterSubscriber */
     $newsletterSubscriber = $this->getReference('newsletter_subscriber');
     $newsletterSubscriber->setChangeStatusAt($now)->setCreatedAt($createdAt)->setUpdatedAt($updateAt);
     $class = new \ReflectionClass($newsletterSubscriber);
     $prop = $class->getProperty('id');
     $prop->setAccessible(true);
     $prop->setValue($newsletterSubscriber, null);
     $this->strategy->setEntityName(get_class($newsletterSubscriber));
     $updatedNewsletterSubscriber = $this->strategy->process($newsletterSubscriber);
     $this->assertEquals($newsletterSubscriber, $updatedNewsletterSubscriber);
     $this->assertNotEquals($createdAt, $updatedNewsletterSubscriber->getCreatedAt());
     $this->assertNotEquals($updateAt, $updatedNewsletterSubscriber->getUpdatedAt());
 }