private SNode <T> FindPrevious(SNode <T> _head, SNode <T> node)
 {
     if (_head.Next == node)
     {
         return(_head);
     }
     else
     {
         return(FindPrevious(_head.Next, node));
     }
 }
 public void Add(SNode <T> node)
 {
     if (tail != null)
     {
         tail.Next = node;
     }
     else
     {
         head = node;
     }
     tail = node;
     Count++;
 }
 private SNode <T> FindNode(T value, SNode <T> head)
 {
     if (head == null)
     {
         return(null);
     }
     if (head.Value.Equals(value))
     {
         return(head);
     }
     else
     {
         return(FindNode(value, head.Next));
     }
 }