I think I found and fixed a bug in the PolygonHandler regarding holes. I found that a Polygon read from a shape file always had zero holes, regardless of what was actually in the shape file.
All the calculations are done correctly to determine how to populate the holesForShells ArrayList, but in the end the hole is never added to it.
Anyway, I've patched up my copy, but if there's a way I can contribute this back to the project please let me know. Thanks.