public SearchParameterSupportResolver(
            ISearchParameterDefinitionManager definitionManager,
            ITypedElementToSearchValueConverterManager searchValueConverterManager)
        {
            EnsureArg.IsNotNull(definitionManager, nameof(definitionManager));
            EnsureArg.IsNotNull(searchValueConverterManager, nameof(searchValueConverterManager));

            _definitionManager           = definitionManager;
            _searchValueConverterManager = searchValueConverterManager;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TypedElementSearchIndexer"/> class.
        /// </summary>
        /// <param name="searchParameterDefinitionManager">The search parameter definition manager.</param>
        /// <param name="fhirElementTypeConverterManager">The FHIR element type converter manager.</param>
        /// <param name="referenceToElementResolver">Used for parsing reference strings</param>
        /// <param name="modelInfoProvider">Model info provider</param>
        /// <param name="logger">The logger.</param>
        public TypedElementSearchIndexer(
            ISupportedSearchParameterDefinitionManager searchParameterDefinitionManager,
            ITypedElementToSearchValueConverterManager fhirElementTypeConverterManager,
            IReferenceToElementResolver referenceToElementResolver,
            IModelInfoProvider modelInfoProvider,
            ILogger <TypedElementSearchIndexer> logger)
        {
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));
            EnsureArg.IsNotNull(fhirElementTypeConverterManager, nameof(fhirElementTypeConverterManager));
            EnsureArg.IsNotNull(referenceToElementResolver, nameof(referenceToElementResolver));
            EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _searchParameterDefinitionManager = searchParameterDefinitionManager;
            _fhirElementTypeConverterManager  = fhirElementTypeConverterManager;
            _referenceToElementResolver       = referenceToElementResolver;
            _modelInfoProvider = modelInfoProvider;
            _logger            = logger;
        }
        public SearchParameterSupportResolver(ITypedElementToSearchValueConverterManager searchValueConverterManager)
        {
            EnsureArg.IsNotNull(searchValueConverterManager, nameof(searchValueConverterManager));

            _searchValueConverterManager = searchValueConverterManager;
        }