private static bool IdExists(string id, IEnumerable <ArgumentInstance> arguments)
        {
            ArgumentInstance existing;
            bool             exists = ArgumentInstance.TryGetArgument(id, arguments, out existing);

            return(exists);
        }
        /// <summary>
        /// Checks whether any required arguments are missing and logs error messages for them.
        /// </summary>
        private bool CheckRequiredArgumentsSupplied(IEnumerable <ArgumentInstance> arguments, ILogger logger)
        {
            bool allExist = true;

            foreach (ArgumentDescriptor desc in this.descriptors.Where(d => d.Required))
            {
                ArgumentInstance argument;
                ArgumentInstance.TryGetArgument(desc.Id, arguments, out argument);

                bool exists = argument != null && !string.IsNullOrWhiteSpace(argument.Value);
                if (!exists)
                {
                    logger.LogError(Resources.ERROR_CmdLine_MissingRequiredArgument, desc.Description);
                    allExist = false;
                }
            }
            return(allExist);
        }