public virtual bool MoveNext() { if (currentNode == null) currentNode = targetList.Head; else currentNode = currentNode.Next; return currentNode != null; }