/// <summary>
 /// Constructs a new instance with only the public properties, and no logging.
 /// </summary>
 /// <remarks>
 /// This constructor overload is only for convenience in testing.
 /// </remarks>
 /// <param name="basic">the basic global SDK properties</param>
 /// <param name="configuration">the full configuration for the current client instance</param>
 public LdClientContext(
     BasicConfiguration basic,
     Configuration configuration
     ) :
     this(
         basic,
         (configuration.HttpConfigurationFactory ?? Components.HttpConfiguration()).CreateHttpConfiguration(basic),
         null,
         new TaskExecutor(Logs.None.Logger(""))
         )
 {
 }
 internal LdClientContext(
     BasicConfiguration basic,
     HttpConfiguration http,
     IDiagnosticStore diagnosticStore,
     TaskExecutor taskExecutor
     )
 {
     Basic           = basic;
     Http            = http;
     DiagnosticStore = diagnosticStore;
     TaskExecutor    = taskExecutor;
 }
 /// <summary>
 /// Constructs a new instance with only the public properties, and no logging.
 /// </summary>
 /// <remarks>
 /// This constructor overload is only for convenience in testing.
 /// </remarks>
 /// <param name="basic">the basic global SDK properties</param>
 /// <param name="configuration">the full configuration for the current client instance</param>
 public LdClientContext(
     BasicConfiguration basic,
     Configuration configuration
     ) :
     this(
         basic,
         (configuration.HttpConfigurationFactory ?? Components.HttpConfiguration()).CreateHttpConfiguration(basic),
         null,
         new TaskExecutor("test-sender", basic.Logger)
         )
 {
 }