Adding a revised version of PolygonUnion