/// <summary>
        /// Provides a JSON object for Diagnostic Available Event Args
        /// </summary>
        public static JsonObject ToJsonObject(this AdaptiveMediaSourceDiagnosticAvailableEventArgs e)
        {
            var builder = new JsonBuilder("AdaptiveMediaSourceDiagnosticAvailableEventArgs");

            builder.AddString("ResourceType", e.ResourceType);
            builder.AddString("DiagnosticType", e.DiagnosticType);
            // builder.AddTimeSpan("Position", e.Position);
            // builder.AddNumber("RequestId", e.RequestId);
            builder.AddString("ResourceUri", e.ResourceUri);
            builder.AddNumber("ResourceByteRangeOffset", e.ResourceByteRangeOffset);
            builder.AddNumber("ResourceByteRangeLength", e.ResourceByteRangeLength);
            builder.AddNumber("Bitrate", e.Bitrate);
            builder.AddNumber("SegmentId", e.SegmentId);
            return(builder.GetJsonObject());
        }
        /// <summary>
        /// Provides a JSON object for Download Completed Event Args
        /// </summary>
        public static JsonObject ToJsonObject(this AdaptiveMediaSourceDownloadCompletedEventArgs e)
        {
            StringBuilder sb      = new StringBuilder();
            var           builder = new JsonBuilder("AdaptiveMediaSourceDownloadCompletedEventArgs");

            builder.AddString("ResourceType", e.ResourceType);
            // builder.AddTimeSpan("Position", e.Position);
            // builder.AddString("RequestId", e.RequestId));
            builder.AddString("ResourceUri", e.ResourceUri);
            builder.AddNumber("ResourceByteRangeOffset", e.ResourceByteRangeOffset);
            builder.AddNumber("ResourceByteRangeLength", e.ResourceByteRangeLength);
            // builder.AddJsonValue("Statistics", e.Statistics.ToJsonObject());
            builder.AddString("HttpResponseMessage.StatusCode", e.HttpResponseMessage?.StatusCode);
            builder.AddNumber("HttpResponseMessage.Headers.Count", e.HttpResponseMessage?.Headers?.Count);
            builder.AddNumber("HttpResponseMessage.Content.Headers.Count", e.HttpResponseMessage?.Content?.Headers?.Count);
            // ...
            return(builder.GetJsonObject());
        }