/// <inheritdoc />
 public void SetSession(TelemetrySession session)
 {
     lock (lockObject)
     {
         if (Subscriptions.Count > 0)
         {
             throw new InvalidOperationException("Cannot set the session after subscriptions have been made");
         }
         provider = new TelemetryNotificationProvider(session);
     }
 }
 /// <summary>
 /// Internal constructor for unit testing.
 /// </summary>
 internal TelemetryNotificationService(ITelemetryNotificationProvider provider)
 {
     CodeContract.RequiresArgumentNotNull <ITelemetryNotificationProvider>(provider, "provider");
     this.provider = provider;
 }