/// <summary> Deregisters a cursor from the list to be notified of changes.
 ///
 /// </summary>
 /// <param name="cursor"> the cursor to deregister
 /// </param>
 protected internal virtual void  unregisterCursor(Cursor cursor)
 {
     //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratorhasNext_3"'
     for (System.Collections.IEnumerator it = cursors.GetEnumerator(); it.MoveNext();)
     {
         //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratornext_3"'
         System.WeakReference ref_Renamed = (System.WeakReference)it.Current;
         //UPGRADE_ISSUE: Method 'java.lang.ref.Reference.get' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javalangrefReference_3"'
         Cursor cur = (Cursor)ref_Renamed.get_Renamed();
         if (cur == null)
         {
             // some other unrelated cursor object has been
             // garbage-collected; let's take the opportunity to
             // clean up the cursors list anyway..
             //UPGRADE_ISSUE: Method 'java.util.Iterator.remove' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javautilIteratorremove_3"'
             it.remove();
         }
         else if (cur == cursor)
         {
             //UPGRADE_ISSUE: Method 'java.lang.ref.Reference.clear' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javalangrefReference_3"'
             ref_Renamed.clear();
             //UPGRADE_ISSUE: Method 'java.util.Iterator.remove' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javautilIteratorremove_3"'
             it.remove();
             break;
         }
     }
 }
 //-----------------------------------------------------------------------
 /// <summary> Registers a cursor to be notified of changes to this list.
 ///
 /// </summary>
 /// <param name="cursor"> the cursor to register
 /// </param>
 protected internal virtual void  registerCursor(Cursor cursor)
 {
     // We take this opportunity to clean the cursors list
     // of WeakReference objects to garbage-collected cursors.
     //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratorhasNext_3"'
     for (System.Collections.IEnumerator it = cursors.GetEnumerator(); it.MoveNext();)
     {
         //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratornext_3"'
         System.WeakReference ref_Renamed = (System.WeakReference)it.Current;
         //UPGRADE_ISSUE: Method 'java.lang.ref.Reference.get' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javalangrefReference_3"'
         if (ref_Renamed.get_Renamed() == null)
         {
             //UPGRADE_ISSUE: Method 'java.util.Iterator.remove' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javautilIteratorremove_3"'
             it.remove();
         }
     }
     cursors.Add(new System.WeakReference(cursor));
 }
 /// <summary> Informs all of my registered cursors that the specified
 /// element was just added to my list.
 ///
 /// </summary>
 /// <param name="node"> the node that was changed
 /// </param>
 protected internal virtual void  broadcastNodeInserted(Node node)
 {
     System.Collections.IEnumerator it = cursors.GetEnumerator();
     //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratorhasNext_3"'
     while (it.MoveNext())
     {
         //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1073_javautilIteratornext_3"'
         System.WeakReference ref_Renamed = (System.WeakReference)it.Current;
         //UPGRADE_ISSUE: Method 'java.lang.ref.Reference.get' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javalangrefReference_3"'
         Cursor cursor = (Cursor)ref_Renamed.get_Renamed();
         if (cursor == null)
         {
             //UPGRADE_ISSUE: Method 'java.util.Iterator.remove' was not converted. 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="jlca1000_javautilIteratorremove_3"'
             it.remove(); // clean up list
         }
         else
         {
             cursor.nodeInserted(node);
         }
     }
 }