/// <summary>
 /// Initializes a new instance of the <see cref="SmartDetectorRunner"/> class
 /// </summary>
 /// <param name="smartDetectorRepository">The Smart Detector repository</param>
 /// <param name="smartDetectorLoader">The Smart Detector loader</param>
 /// <param name="analysisServicesFactory">The analysis services factory</param>
 /// <param name="azureResourceManagerClient">The Azure Resource Manager client</param>
 /// <param name="stateRepositoryFactory">The state repository factory</param>
 /// <param name="tracer">The tracer</param>
 public SmartDetectorRunner(
     ISmartDetectorRepository smartDetectorRepository,
     ISmartDetectorLoader smartDetectorLoader,
     IInternalAnalysisServicesFactory analysisServicesFactory,
     IExtendedAzureResourceManagerClient azureResourceManagerClient,
     IStateRepositoryFactory stateRepositoryFactory,
     ITracer tracer)
 {
     this.smartDetectorRepository    = Diagnostics.EnsureArgumentNotNull(() => smartDetectorRepository);
     this.smartDetectorLoader        = Diagnostics.EnsureArgumentNotNull(() => smartDetectorLoader);
     this.analysisServicesFactory    = Diagnostics.EnsureArgumentNotNull(() => analysisServicesFactory);
     this.azureResourceManagerClient = Diagnostics.EnsureArgumentNotNull(() => azureResourceManagerClient);
     this.stateRepositoryFactory     = Diagnostics.EnsureArgumentNotNull(() => stateRepositoryFactory);
     this.tracer = tracer;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="SmartDetectorApi"/> class.
        /// </summary>
        /// <param name="smartDetectorRepository">The Smart Detector repository.</param>
        public SmartDetectorApi(ISmartDetectorRepository smartDetectorRepository)
        {
            Diagnostics.EnsureArgumentNotNull(() => smartDetectorRepository);

            this.smartDetectorRepository = smartDetectorRepository;
        }