System.Xml.XmlDocument.GetElement C# (CSharp) Method

GetElement() private method

private GetElement ( ArrayList elementList, XmlElement elem ) : WeakReference
elementList System.Collections.ArrayList
elem XmlElement
return System.WeakReference
        private WeakReference GetElement(ArrayList elementList, XmlElement elem)
        {
            ArrayList gcElemRefs = new ArrayList();
            foreach (WeakReference elemRef in elementList)
            {
                if (!elemRef.IsAlive)
                    //take notes on the garbage collected nodes
                    gcElemRefs.Add(elemRef);
                else
                {
                    if ((XmlElement)(elemRef.Target) == elem)
                        return elemRef;
                }
            }
            //Clear out the gced elements
            foreach (WeakReference elemRef in gcElemRefs)
                elementList.Remove(elemRef);
            return null;
        }