public DuplexLinkedList <T> Reverse()
        {
            var result  = new DuplexLinkedList <T>();
            var current = Tail;

            while (current != null)
            {
                result.Add(current.Data);
                current = current.Previous;
            }
            return(result);
        }
        public DuplexLinkedList <T> Reverse()
        {
            DuplexLinkedList <T> newList = new DuplexLinkedList <T>();

            if (count == 0)
            {
                return(newList);
            }

            var current = Tail;

            while (current != null)
            {
                newList.Add(current.Data);
                current = current.Previous;
            }

            return(newList);
        }