public bool TryWriteFeatureCollection(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (!_shapeConverter.CanConvert(ObjectType.FeatureCollection))
            {
                return(false);
            }

            ObjectType geomType = _shapeConverter.GetObjectType(value);

            if (geomType != ObjectType.FeatureCollection)
            {
                return(false);
            }

            writer.WriteStartObject();
            writer.WritePropertyName("type");
            writer.WriteValue(Enum.GetName(typeof(ObjectType), ObjectType.FeatureCollection));

            writer.WritePropertyName("features");
            writer.WriteStartArray();
            foreach (var feature in _shapeConverter.FromFeatureCollection(value))
            {
                serializer.Serialize(writer, feature);
            }
            writer.WriteEndArray();

            writer.WriteEndObject();
            return(true);
        }