public TelemetryEventContext(Guid applicationId,
                                     Guid deviceId,
                                     [CanBeNull] string appVersion,
                                     [CanBeNull] ILogger logger)
        {
            if (string.IsNullOrWhiteSpace(appVersion))
            {
                throw new ArgumentNullException(nameof(appVersion));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _logger       = logger;
            ApplicationID = applicationId;
            DeviceId      = deviceId;
            AppVersion    = appVersion;

            OperatingSystem = Environment.OSVersion.ToString();
            Language        = AnalyticsHelper.GetCurrentUICulture(this._logger);
            ScreenWidth     = AnalyticsHelper.GetScreenWidth();
            ScreenHeight    = AnalyticsHelper.GetScreenHeight();
        }