public VariableGroupFileRepository([NotNull] IKnownLiterals knownLiterals,
                                    [NotNull] IParametersResolver parametersResolver)
 {
     _knownLiterals      = knownLiterals ?? throw new ArgumentNullException(nameof(knownLiterals));
     _parametersResolver = parametersResolver ?? throw new ArgumentNullException(nameof(parametersResolver));
     _jsonSerializer     = new JsonSerializer {
         Formatting = Formatting.Indented
     };
 }
        public ParametersResolver([NotNull] IUserConsole console, [NotNull] IKnownLiterals knownLiterals)
        {
            _console = console ?? throw new ArgumentNullException(nameof(console));

            _knownLiterals = knownLiterals ?? throw new ArgumentNullException(nameof(knownLiterals));

            _parameterPrompts = new Dictionary <ParameterPosition, string>
            {
                { ParameterPosition.Account, "VSTS account" },
                { ParameterPosition.OverrideExistentTarget, $"Override existent target {YesNoPrompt}" },
                { ParameterPosition.SourceGroup, "Source group name" },
                { ParameterPosition.SourceProject, $"Source project or '{_knownLiterals.GroupLocationFileSelector}'" },
                { ParameterPosition.TargetGroup, "Target group name" },
                { ParameterPosition.TargetProject, $"Target project or '{_knownLiterals.GroupLocationFileSelector}'" },
                { ParameterPosition.Token, "VSTS access token" }
            };
        }