public async Task <ResponseWithHeaders <AssetConversion, MixedRealityRemoteRenderingCreateConversionHeaders> > CreateConversionAsync(Guid accountId, string conversionId, CreateConversionSettings body, CancellationToken cancellationToken = default)
        {
            if (conversionId == null)
            {
                throw new ArgumentNullException(nameof(conversionId));
            }
            if (body == null)
            {
                throw new ArgumentNullException(nameof(body));
            }

            using var message = CreateCreateConversionRequest(accountId, conversionId, body);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            var headers = new MixedRealityRemoteRenderingCreateConversionHeaders(message.Response);

            switch (message.Response.Status)
            {
            case 200:
            case 201:
            {
                AssetConversion value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = AssetConversion.DeserializeAssetConversion(document.RootElement);
                return(ResponseWithHeaders.FromValue(value, headers, message.Response));
            }
        internal static ConversionList DeserializeConversionList(JsonElement element)
        {
            IReadOnlyList <AssetConversion> conversions = default;
            Optional <string> nextLink = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("conversions"))
                {
                    List <AssetConversion> array = new List <AssetConversion>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(AssetConversion.DeserializeAssetConversion(item));
                    }
                    conversions = array;
                    continue;
                }
                if (property.NameEquals("@nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return(new ConversionList(conversions, nextLink.Value));
        }