private System.Collections.IList lazyFindConnectedSets()
        {
            if (m_connectedSets == null)
            {
                //m_connectedSets = new System.Collections.ArrayList();

                SupportClass.SetSupport vertexSet = m_graph.vertexSet();

                if (vertexSet.Count > 0)
                {
                    BreadthFirstIterator i = new BreadthFirstIterator(m_graph, null);
                    i.addTraversalListener(new MyTraversalListener(this));

                    while (i.MoveNext())
                    {
                        System.Object generatedAux = i.Current;
                    }
                }
            }

            return(m_connectedSets);
        }
        /// <summary> Returns a set of all vertices that are in the maximally connected
        /// component together with the specified vertex. For more on maximally
        /// connected component, see <a
        /// href="http://www.nist.gov/dads/HTML/maximallyConnectedComponent.html">
        /// http://www.nist.gov/dads/HTML/maximallyConnectedComponent.html</a>.
        ///
        /// </summary>
        /// <param name="vertex">the vertex for which the connected set to be returned.
        ///
        /// </param>
        /// <returns> a set of all vertices that are in the maximally connected
        /// component together with the specified vertex.
        /// </returns>
        public virtual SupportClass.SetSupport connectedSetOf(System.Object vertex)
        {
            SupportClass.SetSupport connectedSet = (SupportClass.SetSupport)m_vertexToConnectedSet[vertex];

            if (connectedSet == null)
            {
                //UPGRADE_TODO: Class 'java.util.HashSet' was converted to 'SupportClass.HashSetSupport' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilHashSet'"
                connectedSet = new SupportClass.HashSetSupport();

                BreadthFirstIterator i = new BreadthFirstIterator(m_graph, vertex);

                //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'"
                while (i.MoveNext())
                {
                    //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'"
                    connectedSet.Add(i.Current);
                }

                m_vertexToConnectedSet[vertex] = connectedSet;
            }

            return(connectedSet);
        }