public void Draw()
        {
            // walk through the list and render
            SpriteBaseRef pNode = (SpriteBaseRef)this.BaseGetActive();

            while (pNode != null)
            {
                // Assumes update() has been called on each sprite
                pNode.GetSpriteBase().Render();

                pNode = (SpriteBaseRef)pNode.GetNext();
            }
        }
        override protected Boolean DerivedCompare(DLink pLinkA, DLink pLinkB)
        {
            // This is used in baseFind()
            Debug.Assert(pLinkA != null);
            Debug.Assert(pLinkB != null);

            SpriteBaseRef pDataA = (SpriteBaseRef)pLinkA;
            SpriteBaseRef pDataB = (SpriteBaseRef)pLinkB;

            Boolean status = false;

            // TODO Add Comparison Functionality
            if (pDataB.GetSpriteBase().GetHashCode() == pDataA.GetSpriteBase().GetHashCode())
            {
                status = true;
            }
            else
            {
                status = false;
            }

            return(status);
        }