public function initialize(ContextInterface $context)
 {
     // Set Drupal driver manager.
     $context->setDrupal($this->drupal);
     // Set event dispatcher.
     $context->setDispatcher($this->dispatcher);
     // Add all parameters to the context.
     $context->setDrupalParameters($this->parameters);
     // Add commonly used parameters as proper class variables.
     if (isset($this->parameters['basic_auth'])) {
         $context->basic_auth = $this->parameters['basic_auth'];
     }
     // Initialize any available sub-contexts.
     if (isset($this->parameters['subcontexts'])) {
         $paths = array();
         // Drivers may specify paths to subcontexts.
         if ($this->parameters['subcontexts']['autoload']) {
             foreach ($this->drupal->getDrivers() as $name => $driver) {
                 if ($driver instanceof DrupalSubContextFinderInterface) {
                     $paths += $driver->getSubContextPaths();
                 }
             }
         }
         // Additional subcontext locations may be specified manually in behat.yml.
         if (isset($this->parameters['subcontexts']['paths'])) {
             $paths = array_merge($paths, $this->parameters['subcontexts']['paths']);
         }
         foreach ($paths as $path) {
             if ($subcontexts = $this->findAvailableSubContexts($path)) {
                 $this->loadSubContexts($subcontexts);
             }
         }
         $context->initializeSubContexts();
     }
 }