public static void WriteArray(this BlittableJsonTextWriter writer, string name, IEnumerable <LazyStringValue> items)
        {
            writer.WritePropertyName(name);

            writer.WriteStartArray();
            var first = true;

            foreach (var item in items)
            {
                if (first == false)
                {
                    writer.WriteComma();
                }
                first = false;

                writer.WriteString(item);
            }
            writer.WriteEndArray();
        }
        public static void WriteArray(this BlittableJsonTextWriter writer, string name, IEnumerable <DynamicJsonValue> items, JsonOperationContext context)
        {
            writer.WritePropertyName(name);

            writer.WriteStartArray();
            var first = true;

            foreach (var item in items)
            {
                if (first == false)
                {
                    writer.WriteComma();
                }
                first = false;

                context.Write(writer, item);
            }
            writer.WriteEndArray();
        }
        public static void WriteArray <T>(this BlittableJsonTextWriter writer, JsonOperationContext context, string name, IEnumerable <T> items,
                                          Action <BlittableJsonTextWriter, JsonOperationContext, T> onWrite)
        {
            writer.WritePropertyName(name);

            writer.WriteStartArray();
            var first = true;

            foreach (var item in items)
            {
                if (first == false)
                {
                    writer.WriteComma();
                }

                first = false;

                onWrite(writer, context, item);
            }

            writer.WriteEndArray();
        }