static void VisitListAndWriteResults <T>(ListVisitor <T> v, List <T> list)
 {
     list.Visit(v);
     Console.Out.WriteLine(v);
 }
 public void Visit(ListVisitor <T> v)
 {
     v.Do(this);
     this.NextElement?.Visit(v);
 }