public bool MoveNext()
 {
     if (current == null)
     {
         return(false);
     }
     current = current.Next;
     return(current != null);
 }
        public void AddLast(T val)
        {
            count++;
            var v = new OpenLinkedListNode <T>(val);

            if (first == null)
            {
                first = v;
                last  = first;
            }
            else
            {
                last.Next  = v;
                v.Previous = last;
                last       = v;
            }
        }
 public OpenLinkedList()
 {
     first = null; first = null;
 }
 public OpenLinkedListEnumerator(OpenLinkedListNode <T> current)
 {
     this.current = current;
 }