public Region Pop()
        {
            if (Top == null)
            {
                return(null);
            }

            Region returnValue = Top.Value;

            Top = Top.Next;
            return(returnValue);
        }
        public void Add(float sortValue, Region value)
        {
            SortedRegionListNode added = new SortedRegionListNode(sortValue, value);

            if (Top == null)
            {
                Top = added;
                return;
            }

            SortedRegionListNode current = Top;

            while (current.Next != null && current.Next.SortValue < added.SortValue)
            {
                current = current.Next;
            }

            added.Next   = current.Next;
            current.Next = added;
        }