final Coordinate[] splitLine, final LinearRing ring ) {
this.splitLineSegmentWithIntersectionList = new ArrayList<SplitLineSegmentIntersectionNode>();
for( int i = 0; i < (splitLine.length - 1); i++ ) {
LineString lineSegment = this.geomFactory.createLineString(
new Coordinate[]{splitLine[i], splitLine[i + 1]});
List<Point> segmentIntersectionList = new GeometryList<Point>();
// make the intersection between the line segment and each boundary segment in order to
// create the intersection link
List<LineString> ringSegmentList = ringToSegmentList(ring);
for( LineString ringSegment : ringSegmentList ) {
Geometry intersectionGeom = lineSegment.intersection(ringSegment);
if (intersectionGeom instanceof Point) {
IntersectionLink link = new IntersectionLink(lineSegment, ringSegment,
(Point) intersectionGeom);