public BaseNode GetHead() { //If there is a previous node, recurse into it to get the head node. if (null != Prev) { return Prev.GetHead(); } else { //If there is no prev node, this dude is the head return this; } }