private static function getUpdateResolver()
 {
     static $resolver;
     if ($resolver === null) {
         $resolver = (new OptionsResolver())->setRequired(['slug', 'type', 'name', 'project', 'package', 'existingVersion', 'recommendedVersion', 'recommendedDownloadLink', 'status', 'includes', 'enabled', 'baseThemes', 'subThemes'])->setAllowedTypes('slug', 'string')->setAllowedValues('type', [SiteUpdate::TYPE_CORE, SiteUpdate::TYPE_MODULE, SiteUpdate::TYPE_THEME])->setAllowedTypes('name', 'string')->setAllowedTypes('project', ['null', 'string'])->setAllowedTypes('package', ['null', 'string'])->setAllowedTypes('existingVersion', 'string')->setAllowedTypes('recommendedVersion', 'string')->setAllowedTypes('recommendedDownloadLink', 'string')->setAllowedValues('status', SiteUpdate::getStatuses())->setAllowedTypes('includes', 'array')->setNormalizer('includes', self::createStringArrayNormalizer('includes'))->setAllowedTypes('enabled', 'bool')->setAllowedTypes('baseThemes', 'array')->setNormalizer('baseThemes', self::createStringArrayNormalizer('baseThemes'))->setAllowedTypes('subThemes', 'array')->setNormalizer('subThemes', self::createStringArrayNormalizer('subThemes'));
     }
     return $resolver;
 }