private List <string> GetLines(RefsNode node, ref List <string> list)
        {
            string lineToAdd = node.RawLine;

            if (node is FileNode fileNode)
            {
                lineToAdd = lineToAdd + " | " + fileNode.GetFilename(true);
            }
            list.Add(lineToAdd);
            if (node.SupportsChildren)
            {
                foreach (RefsNode childNode in node.GetChildren())
                {
                    GetLines(childNode, ref list);
                }
            }
            return(list);
        }
 public void PrintChildren(RefsNode node)
 {
     if (node is FileNode fileNode)
     {
         Console.WriteLine(node.NodeDepth.ToString("00") + " | " + node.RawLine + " | " + fileNode);
     }
     else
     {
         Console.WriteLine(node.NodeDepth.ToString("00") + " | " + node.RawLine);
     }
     if (!node.SupportsChildren)
     {
         return;
     }
     foreach (RefsNode childNode in node.GetChildren())
     {
         PrintChildren(childNode);
     }
 }
 public void PrintChildren(RefsNode node)
 {
     if (node is FileNode leafNode)
     {
         Console.WriteLine(node.RawLine + " | " + leafNode);
     }
     else
     {
         Console.WriteLine(node.RawLine);
     }
     if (!node.SupportsChildren)
     {
         return;
     }
     foreach (var childNode in node.GetChildren())
     {
         PrintChildren(childNode);
     }
 }