ConnectionCollectionConverter
Handles JSON serialization and deserialization of  ClientConnectionCollection.
            
                using System.Text.Json;
using System.Text.Json.Serialization;
namespace System.ClientModel.Primitives
{
    internal class ConnectionCollectionConverter : JsonConverter<ClientConnectionCollection>
    {
        public override ClientConnectionCollection Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            using (JsonDocument jsonDocument = JsonDocument.ParseValue(ref reader)) {
                JsonElement rootElement = jsonDocument.RootElement;
                ClientConnectionCollection clientConnectionCollection = new ClientConnectionCollection();
                foreach (JsonElement item2 in rootElement.EnumerateArray()) {
                    JsonElement property = item2.GetProperty("id");
                    string string = property.GetString();
                    property = item2.GetProperty("locator");
                    string string2 = property.GetString();
                    property = item2.GetProperty("credentialKind");
                    string string3 = property.GetString();
                    CredentialKind credentialKind = (CredentialKind)Enum.Parse(typeof(CredentialKind), string3);
                    ClientConnection item = new ClientConnection(string, string2, credentialKind);
                    clientConnectionCollection.Add(item);
                }
                return clientConnectionCollection;
            }
        }
        public override void Write(Utf8JsonWriter writer, ClientConnectionCollection value, JsonSerializerOptions options)
        {
            writer.WriteStartArray();
            foreach (ClientConnection item in value) {
                writer.WriteStartObject();
                writer.WriteString("id", item.Id);
                writer.WriteString("locator", item.Locator);
                writer.WriteString("credentialKind", item.CredentialKind.ToString());
                writer.WriteEndObject();
            }
            writer.WriteEndArray();
        }
    }
}