}
public static Geometry checkNoding(Geometry geom)
{
List segs = createSegmentStrings(geom);
FastNodingValidator nv = new FastNodingValidator(segs);
nv.setFindAllIntersections(true);
nv.isValid();
List intPts = nv.getIntersections();
Point[] pts = new Point[intPts.size()];
for (int i = 0; i < intPts.size(); i++) {
Coordinate coord = (Coordinate) intPts.get(i);
// use default factory in case intersections are not fixed
pts[i] = FunctionsUtil.getFactoryOrDefault(null).createPoint(coord);