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;
    }