@grumpygamer If Ron Gilbert says so, it's probably a good idea.
This isn't the most impressive block of code, but it might be the most important. I had to write this to fix a bug in a source library. Turns out, OpenStreetMap has some places in its database that have more shapes than .NET has stack memory. Replacing the recursive call with a simple list lets this work on the whole globe now.