             }
         }
     }
-    
+
     private func forEachVertexStartingFrom(_ v: Vertex, _ callback: (Vertex) -> Void) {
         var current = v
         repeat {

            list2.insertIntersectionVertex(vertex2, at: $0.indexedPathLocation2)
        }
        // mark each intersection as either entry or exit
        list1.markEntryExit(path2, &nonCrossingComponents1)
        if list1 !== list2 {
            list2.markEntryExit(path1, &nonCrossingComponents2)
        }
    }
    

    public struct IntersectionInfo {
        public var isEntry: Bool = false
        public var isExit: Bool = false
        public var nextWinding: Int = 0
        public var neighbor: Vertex? = nil
    }
    public var intersectionInfo: IntersectionInfo = IntersectionInfo()
