}         // private void Add(ArrayList edges, int geomIndex)

        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));
            }
        }         // private void Add(Edge edge, int geomIndex)