internal static SwitchActivity DeserializeSwitchActivity(JsonElement element) { string name = default; string type = default; Optional <string> description = default; Optional <IList <ActivityDependency> > dependsOn = default; Optional <IList <UserProperty> > userProperties = default; Expression @on = default; Optional <IList <SwitchCase> > cases = default; Optional <IList <Activity> > defaultActivities = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } if (property.NameEquals("dependsOn")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ActivityDependency> array = new List <ActivityDependency>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ActivityDependency.DeserializeActivityDependency(item)); } dependsOn = array; continue; } if (property.NameEquals("userProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <UserProperty> array = new List <UserProperty>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(UserProperty.DeserializeUserProperty(item)); } userProperties = array; continue; } if (property.NameEquals("typeProperties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("on")) { @on = Expression.DeserializeExpression(property0.Value); continue; } if (property0.NameEquals("cases")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <SwitchCase> array = new List <SwitchCase>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(SwitchCase.DeserializeSwitchCase(item)); } cases = array; continue; } if (property0.NameEquals("defaultActivities")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <Activity> array = new List <Activity>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(DeserializeActivity(item)); } defaultActivities = array; continue; } } continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new SwitchActivity(name, type, description.Value, Optional.ToList(dependsOn), Optional.ToList(userProperties), additionalProperties, @on, Optional.ToList(cases), Optional.ToList(defaultActivities))); }