public UpgradeGameApplicationService(
            DataConnection dataConnection,
            DataConnectionValidationService dataConnectionValidationService,
            DataExportService dataExportService,
            DataImportService dataImportService,
            DomainModelService domainModelService,
            DomainModelExportService domainModelExportService,
            DomainModelImportService domainModelImportService,
            GameFolderValidator gameFolderValidator,
            GameExecutableValidator gameExecutableValidator,
            LanguageFileValidator languageFileValidator,
            CommentaryFileValidator commentaryFileValidator,
            EmbeddedResourceDeployer embeddedResourceDeployer,
            GameExecutableCodePatcher gameExecutableCodePatcher)
        {
            _dataConnection = dataConnection ?? throw new ArgumentNullException(nameof(dataConnection));
            _dataConnectionValidationService = dataConnectionValidationService ?? throw new ArgumentNullException(nameof(dataConnectionValidationService));
            _dataExportService         = dataExportService ?? throw new ArgumentNullException(nameof(dataExportService));
            _dataImportService         = dataImportService ?? throw new ArgumentNullException(nameof(dataImportService));
            _domainModelExportService  = domainModelExportService ?? throw new ArgumentNullException(nameof(domainModelExportService));
            _domainModelImportService  = domainModelImportService ?? throw new ArgumentNullException(nameof(domainModelImportService));
            _gameFolderValidator       = gameFolderValidator ?? throw new ArgumentNullException(nameof(gameFolderValidator));
            _gameExecutableValidator   = gameExecutableValidator ?? throw new ArgumentNullException(nameof(gameExecutableValidator));
            _languageFileValidator     = languageFileValidator ?? throw new ArgumentNullException(nameof(languageFileValidator));
            _commentaryFileValidator   = commentaryFileValidator ?? throw new ArgumentNullException(nameof(commentaryFileValidator));
            _embeddedResourceDeployer  = embeddedResourceDeployer ?? throw new ArgumentNullException(nameof(embeddedResourceDeployer));
            _gameExecutableCodePatcher = gameExecutableCodePatcher ?? throw new ArgumentNullException(nameof(gameExecutableCodePatcher));

            DomainModel = domainModelService ?? throw new ArgumentNullException(nameof(domainModelService));
        }
        public ConfigureGameApplicationService(
            DataConnection dataConnection,
            DataConnectionValidationService dataConnectionValidationService,
            DataExportService dataExportService,
            DataImportService dataImportService,
            DomainModelService domainModelService,
            DomainModelExportService domainModelExportService,
            DomainModelImportService domainModelImportService,
            GameExecutableCodePatcher gameExecutableCodePatcher)
        {
            _dataConnection = dataConnection ?? throw new ArgumentNullException(nameof(dataConnection));
            _dataConnectionValidationService = dataConnectionValidationService ?? throw new ArgumentNullException(nameof(dataConnectionValidationService));
            _dataExportService         = dataExportService ?? throw new ArgumentNullException(nameof(dataExportService));
            _dataImportService         = dataImportService ?? throw new ArgumentNullException(nameof(dataImportService));
            _domainModelExportService  = domainModelExportService ?? throw new ArgumentNullException(nameof(domainModelExportService));
            _domainModelImportService  = domainModelImportService ?? throw new ArgumentNullException(nameof(domainModelImportService));
            _gameExecutableCodePatcher = gameExecutableCodePatcher ?? throw new ArgumentNullException(nameof(gameExecutableCodePatcher));

            DomainModel = domainModelService ?? throw new ArgumentNullException(nameof(domainModelService));
        }