internal static TimeSeriesHierarchy DeserializeTimeSeriesHierarchy(JsonElement element) { Optional <string> id = default; string name = default; TimeSeriesHierarchySource source = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("source")) { source = TimeSeriesHierarchySource.DeserializeTimeSeriesHierarchySource(property.Value); continue; } } return(new TimeSeriesHierarchy(id.Value, name, source)); }