public IEnumerator <T> GetEnumerator()
        {
            DanikListItem current = _first;

            while (current != null)
            {
                yield return(current.Current);

                current = current.Next;
            }
        }
        public void Add(T item)
        {
            if (_first == null)
            {
                _first = new DanikListItem()
                {
                    Current = item
                };
                _last = _first;
                Count++;
                return;
            }

            DanikListItem carry         = _first;
            DanikListItem previouscarry = _first;

            if (item.CompareTo(_first.Current) <= 0)
            {
                _first = new DanikListItem()
                {
                    Current = item, Next = carry
                };
                Count++;
                return;
            }

            while (carry != null && item.CompareTo(carry.Current) >= 0)
            {
                previouscarry = carry;
                carry         = carry.Next;
            }
            previouscarry.Next = new DanikListItem()
            {
                Current = item, Previous = previouscarry, Next = carry
            };
            Count++;
        }