public virtual IList <T> AsSortedList() { LinkedList <T> list = new LinkedList <T>(); for (IEnumerator <T> i = elements.Iterator(); i.MoveNext();) { list.AddFirst(i.Current); } return(list); }