Here attached is an awful geometry (a GPS track) making Polygonizer entering an infinite loop.
I could not reduce the geometry to a simpler case.
Just found that the infinite loop is the do loop in Polygonizer#findDisjointShells(List shellList)
infinite_loop.zip