public void AddToEnd(DoublyNode <T> node)
 {
     if (Count == 0)
     {
         Head = node;
         Tail = node;
     }
     else
     {
         var temp = Tail;
         Tail          = node;
         temp.Next     = Tail;
         Tail.Previous = temp;
     }
     Count++;
 }
 public void AddToFront(DoublyNode <T> node)
 {
     if (Count == 0)
     {
         Head = node;
         Tail = node;
     }
     else
     {
         var temp = Head;
         Head          = node;
         Head.Next     = temp;
         temp.Previous = Head;
     }
     Count++;
 }