public virtual GeoJsonObject ConvertFeature(KmlFeature feature, IStyleProvider provider)
        {
            switch (feature)
            {
            case KmlDocument document:
                throw new NotImplementedException();
            //return ConvertDocument(document, provider ?? document.StyleSelectors);

            case KmlFolder folder:
                return(ConvertFolder(folder, provider));

            case KmlPlacemark placemark:
                return(ConvertPlacemark(placemark, provider));

            default:
                throw new KmlException("Unsupported feature " + feature.GetType());
            }
        }
        protected virtual void ConvertFolder(KmlFolder folder, GeoJsonFeatureCollection collection, KmlFeature feature, IStyleProvider provider)
        {
            switch (feature)
            {
            case KmlPlacemark placemark:

                collection.Add(ConvertPlacemark(placemark, provider));

                break;

            case KmlDocument document:
            // Why would you have a document in a folder? (although it seems legal according to the specification)

            case KmlFolder childFolder:
            // Why would you have folder in another folder? (although it seems legal according to the specification)

            default:
                throw new KmlException("Unsupported feature " + feature.GetType());
            }
        }