// Behaviors public void Add(Type data) { LinkedListNode <Type> savedTail; if (head == null) { head = new LinkedListNode <Type>(data); tail = head; } else { savedTail = tail; tail = new LinkedListNode <Type>(data); tail.SetPrev(savedTail); savedTail.SetNext(tail); } }