public function generate($path, $themeName, $force = false, array $options = [])
    {
        $options = $this->createOptionsResolver()->resolve($options);
        $this->checkThemeName($themeName);
        $this->processPath($path, $force);

        try {
            $this->createSite(
                $path,
                $themeName,
                $options['prefer-lock'],
                $options['prefer-source'],
                $options['no-scripts']
            );
        } catch (\Exception $e) {
            $this->fs->remove($path);

            throw $e;
        }
    }