public ConsoleUpgrade( IUserInput input, InputOutputStreams io, IUpgradeContextFactory contextFactory, CommandProvider commandProvider, UpgraderManager upgrader, IUpgradeStateManager stateManager, ILogger <ConsoleUpgrade> logger) { _input = input ?? throw new ArgumentNullException(nameof(input)); _io = io ?? throw new ArgumentNullException(nameof(io)); _contextFactory = contextFactory ?? throw new ArgumentNullException(nameof(contextFactory)); _commandProvider = commandProvider ?? throw new ArgumentNullException(nameof(commandProvider)); _upgrader = upgrader ?? throw new ArgumentNullException(nameof(upgrader)); _stateManager = stateManager ?? throw new ArgumentNullException(nameof(stateManager)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }