/// <summary>
 /// Initializes a new instance of the <see cref="EdgeModuleClientFactory"/> class with transport settings.
 /// </summary>
 /// <param name="transportSettings">Prioritized list of transportTypes and their settings.</param>
 /// <param name="trustBundleProvider">Provider implementation to get trusted bundle for certificate validation.</param>
 public EdgeModuleClientFactory(ITransportSettings[] transportSettings, ITrustBundleProvider trustBundleProvider)
 {
     this.transportSettings   = transportSettings ?? throw new ArgumentNullException(nameof(transportSettings));
     this.trustBundleProvider = trustBundleProvider ?? throw new ArgumentNullException(nameof(trustBundleProvider));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EdgeModuleClientFactory"/> class with transport settings.
 /// </summary>
 /// <param name="transportSettings">Prioritized list of transportTypes and their settings.</param>
 /// <param name="trustBundleProvider">Provider implementation to get trusted bundle for certificate validation.</param>
 /// <param name="options">The options that allow configuration of the module client instance during initialization.</param>
 public EdgeModuleClientFactory(ITransportSettings[] transportSettings, ITrustBundleProvider trustBundleProvider, ClientOptions options = default)
 {
     _transportSettings   = transportSettings ?? throw new ArgumentNullException(nameof(transportSettings));
     _trustBundleProvider = trustBundleProvider ?? throw new ArgumentNullException(nameof(trustBundleProvider));
     _options             = options;
 }