public GenerateQuestionnaireOperation(GenerateQuestionnaireOperationOptions arguments, ILoggerFactory loggerFactory)
        {
            _arguments     = arguments ?? throw new ArgumentOutOfRangeException(nameof(arguments));
            _loggerFactory = loggerFactory ?? throw new ArgumentOutOfRangeException(nameof(loggerFactory));

            _logger = loggerFactory.CreateLogger <GenerateQuestionnaireOperation>();

            ValidateInputArguments(arguments);

            _generator = new QuestionnaireGenerator(loggerFactory);
        }
 private void ValidateInputArguments(GenerateQuestionnaireOperationOptions arguments)
 {
     arguments.Questionnaire.Validate(nameof(arguments.Questionnaire));
     arguments.ValueSet?.Validate(nameof(arguments.ValueSet));
 }