TicketImporter.WorkItemState.pathToDoneFrom C# (CSharp) Method

pathToDoneFrom() private method

private pathToDoneFrom ( string searchFrom ) : bool
searchFrom string
return bool
        private bool pathToDoneFrom(string searchFrom)
        {
            var foundPath = false;

            PathToDone.Add(searchFrom);
            var possiblePaths =
                witd.SelectNodes(
                    string.Format(
                        "descendant::TRANSITIONS/TRANSITION[@from='{0}' and (@to!='Removed' and @to!='Deleted')]",
                        searchFrom));

            foreach (XmlNode path in possiblePaths)
            {
                var to = path.Attributes.GetNamedItem("to").Value;
                if (closedStates.Contains(to, StringComparer.OrdinalIgnoreCase))
                {
                    PathToDone.Add(to);
                    foundPath = true;
                    break;
                }
            }

            if (foundPath == false)
            {
                foreach (XmlNode path in possiblePaths)
                {
                    var from = path.Attributes.GetNamedItem("to").Value;
                    foundPath = pathToDoneFrom(from);
                    if (foundPath)
                    {
                        break;
                    }
                }
            }

            return foundPath;
        }