public IEnumerable<DocumentLine> GetLinesReverseStartingAt (int startLine) { var startNode = GetNode (startLine); if (startNode == null) yield break; do { yield return startNode; startNode = startNode.GetPrevNode (); } while (startNode != null); }