private void Add(Edge edge, int geomIndex)
 {
     MonotoneChainEdge mce = edge.GetMonotoneChainEdge();
     int[] startIndex = mce.StartIndex;
     for (int i = 0; i < startIndex.Length - 1; i++)
     {
         MonotoneChain mc = new MonotoneChain( mce, i, geomIndex );
         SweepLineEvent insertEvent = new SweepLineEvent( geomIndex, mce.GetMinX(i), null, mc);
         _events.Add( insertEvent );
         _events.Add( new SweepLineEvent( geomIndex, mce.GetMaxX(i), insertEvent, mc) );
     }
 }