/**
  * Apply marketing list grid mixin.
  *
  * @param PreBuild $event
  */
 public function onPreBuild(PreBuild $event)
 {
     $config = $event->getConfig();
     $parameters = $event->getParameters();
     $gridName = $config->getName();
     if (!$this->isApplicable($gridName, $parameters)) {
         return;
     }
     $gridMixin = $parameters->get(self::MIXIN);
     if (empty($this->appliedFor[$gridName . $gridMixin])) {
         $this->dataGridConfigurationHelper->extendConfiguration($config, $gridMixin);
         $this->appliedFor[$gridName . $gridMixin] = true;
     }
 }
 /**
  * @param string $gridName
  * @param array  $existingParameters
  * @param array  $additionalParameters
  * @param array  $expectedParameters
  *
  * @dataProvider extendConfigurationDataProvider
  */
 public function testExtendConfiguration($gridName, array $existingParameters, array $additionalParameters, array $expectedParameters)
 {
     $this->configProvider->expects($this->once())->method('getConfiguration')->will($this->returnValue(DatagridConfiguration::create($additionalParameters)));
     $this->assertEquals(DatagridConfiguration::create($expectedParameters)->toArray(), $this->helper->extendConfiguration(DatagridConfiguration::create($existingParameters), $gridName)->toArray());
 }