public function transform(SiteExtension $siteExtension)
 {
     return ['type' => $siteExtension->getType(), 'name' => $siteExtension->getName(), 'description' => $siteExtension->getDescription(), 'version' => $siteExtension->getVersion(), 'required' => $siteExtension->isRequired(), 'enabled' => $siteExtension->isEnabled(), 'package' => $siteExtension->getPackage(), 'project' => $siteExtension->getPackage()];
 }
 /**
  * @param SiteState       $state
  * @param SiteStateResult $result
  *
  * @return SiteExtension[]
  */
 private function getExtensions(SiteState $state, SiteStateResult $result)
 {
     if (!$result->extensions) {
         return [];
     }
     $existingExtensions = $state->getSiteExtensions();
     $extensions = [];
     foreach ($result->extensions as $slug => $extensionData) {
         if (isset($existingExtensions[$slug])) {
             $extension = $existingExtensions[$slug];
         } else {
             $extension = new SiteExtension($state, $slug);
         }
         $extension->setFilename($extensionData->filename)->setType($extensionData->type)->setParent($extensionData->parent)->setEnabled($extensionData->enabled)->setName($extensionData->name)->setDescription($extensionData->description)->setPackage($extensionData->package)->setVersion($extensionData->version)->setRequired($extensionData->required)->setDependencies($extensionData->dependencies)->setProject($extensionData->project);
         $extensions[$slug] = $extension;
     }
     return $extensions;
 }