/// <summary>
 /// 
 /// </summary>
 /// <param name="edge"></param>
 /// <param name="edgeSet"></param>
 private void Add(Edge edge, object edgeSet)
 {
     MonotoneChainEdge mce = edge.MonotoneChainEdge;
     int[] startIndex = mce.StartIndexes;
     for (int i = 0; i < startIndex.Length - 1; i++) 
     {
         MonotoneChain mc = new MonotoneChain(mce, i);
         SweepLineEvent insertEvent = new SweepLineEvent(edgeSet, mce.GetMinX(i), mc);
         _events.Add(insertEvent);
         _events.Add(new SweepLineEvent(mce.GetMaxX(i), insertEvent));
     }
 }