original_string: private function getGeneratorElements($func) {
          $allGenerators = $this->getAllGenerators();
  
          foreach ($this->configuration->getSelectedFeatures() as $feature)
              $this->addArtifactToUsedGenerators($allGenerators, $feature, "addSelectedArtifact");
  
          foreach ($this->configuration->getDeselectedFeatures() as $feature)
              $this->addArtifactToUsedGenerators($allGenerators, $feature, "addDeselectedArtifact");
  
          $elements = array();
          foreach ($allGenerators as $generator)
              if ($generator->hasArtifacts())
                  $elements = array_merge($elements, call_user_func(array($generator, $func)));
          return $elements;
      }
code: private function getGeneratorElements($func) {
          $allGenerators = $this->getAllGenerators();
  
          foreach ($this->configuration->getSelectedFeatures() as $feature)
              $this->addArtifactToUsedGenerators($allGenerators, $feature, "addSelectedArtifact");
  
          foreach ($this->configuration->getDeselectedFeatures() as $feature)
              $this->addArtifactToUsedGenerators($allGenerators, $feature, "addDeselectedArtifact");
  
          $elements = array();
          foreach ($allGenerators as $generator)
              if ($generator->hasArtifacts())
                  $elements = array_merge($elements, call_user_func(array($generator, $func)));
          return $elements;
      }
code_tokens: private function getGeneratorElements ( $ func ) { $ allGenerators = $ this -> getAllGenerators ( ) ; foreach ( $ this -> configuration -> getSelectedFeatures ( ) as $ feature ) $ this -> addArtifactToUsedGenerators ( $ allGenerators , $ feature , "addSelectedArtifact" ) ; foreach ( $ this -> configuration -> getDeselectedFeatures ( ) as $ feature ) $ this -> addArtifactToUsedGenerators ( $ allGenerators , $ feature , "addDeselectedArtifact" ) ; $ elements = array ( ) ; foreach ( $ allGenerators as $ generator ) if ( $ generator -> hasArtifacts ( ) ) $ elements = array_merge ( $ elements , call_user_func ( array ( $ generator , $ func ) ) ) ; return $ elements ; }
docstring: Returns elements generated for the product.
  To do this, every artifact is registered with the generators it specifies.
  Then every generator generates some elements. Finally all the elements are merged.
  @param callable $func
  @return mixed[]
docstring_tokens: Returns elements generated for the product . To do this every artifact is registered with the generators it specifies . Then every generator generates some elements . Finally all the elements are merged .