// The use of fully qualified name for IUtf8JsonSerializable is a work around until this
 // issue is fixed: https://github.com/Azure/autorest.csharp/issues/793
 void global::Azure.Core.IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("timeSeriesId");
     writer.WriteStartArray();
     foreach (string item in TimeSeriesId.ToArray())
     {
         writer.WriteObjectValue(item);
     }
     writer.WriteEndArray();
     writer.WritePropertyName("searchSpan");
     writer.WriteObjectValue(SearchSpan);
     if (Optional.IsDefined(Filter))
     {
         writer.WritePropertyName("filter");
         writer.WriteObjectValue(Filter);
     }
     if (Optional.IsCollectionDefined(ProjectedProperties))
     {
         writer.WritePropertyName("projectedProperties");
         writer.WriteStartArray();
         foreach (EventProperty item in ProjectedProperties)
         {
             writer.WriteObjectValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsDefined(Take))
     {
         writer.WritePropertyName("take");
         writer.WriteNumberValue(Take.Value);
     }
     writer.WriteEndObject();
 }
 // The use of fully qualified name for IUtf8JsonSerializable is a work around until this
 // issue is fixed: https://github.com/Azure/autorest.csharp/issues/793
 void global::Azure.Core.IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("timeSeriesId");
     writer.WriteStartArray();
     foreach (object item in TimeSeriesId.ToArray())
     {
         writer.WriteObjectValue(item);
     }
     writer.WriteEndArray();
     writer.WritePropertyName("typeId");
     writer.WriteStringValue(TypeId);
     if (Optional.IsDefined(Name))
     {
         writer.WritePropertyName("name");
         writer.WriteStringValue(Name);
     }
     if (Optional.IsDefined(Description))
     {
         writer.WritePropertyName("description");
         writer.WriteStringValue(Description);
     }
     if (Optional.IsCollectionDefined(HierarchyIds))
     {
         writer.WritePropertyName("hierarchyIds");
         writer.WriteStartArray();
         foreach (var item in HierarchyIds)
         {
             writer.WriteStringValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsCollectionDefined(InstanceFields))
     {
         writer.WritePropertyName("instanceFields");
         writer.WriteStartObject();
         foreach (KeyValuePair <string, object> item in InstanceFields)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WriteEndObject();
 }
 // The use of fully qualified name for IUtf8JsonSerializable is a work around until this
 // issue is fixed: https://github.com/Azure/autorest.csharp/issues/793
 void global::Azure.Core.IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("timeSeriesId");
     writer.WriteStartArray();
     foreach (var item in TimeSeriesId.ToArray())
     {
         writer.WriteObjectValue(item);
     }
     writer.WriteEndArray();
     writer.WritePropertyName("searchSpan");
     writer.WriteObjectValue(SearchSpan);
     if (Optional.IsDefined(Filter))
     {
         writer.WritePropertyName("filter");
         writer.WriteObjectValue(Filter);
     }
     writer.WritePropertyName("interval");
     writer.WriteStringValue(Interval, "P");
     if (Optional.IsCollectionDefined(ProjectedVariables))
     {
         writer.WritePropertyName("projectedVariables");
         writer.WriteStartArray();
         foreach (var item in ProjectedVariables)
         {
             writer.WriteStringValue(item);
         }
         writer.WriteEndArray();
     }
     if (Optional.IsCollectionDefined(InlineVariables))
     {
         writer.WritePropertyName("inlineVariables");
         writer.WriteStartObject();
         foreach (var item in InlineVariables)
         {
             writer.WritePropertyName(item.Key);
             writer.WriteObjectValue(item.Value);
         }
         writer.WriteEndObject();
     }
     writer.WriteEndObject();
 }