protected internal virtual Expression VisitUsing(UsingCSharpStatement node) =>
 node.Update(
     VisitAndConvert(node.Variables, nameof(VisitUsing)),
     Visit(node.Resource),
     node.Declarations != null ? Visit(node.Declarations, VisitLocalDeclaration) : null,
     Visit(node.Body),
     VisitAwaitInfo(node.AwaitInfo),
     VisitAndConvert(node.PatternDispose, nameof(VisitUsing))
     );
 protected internal virtual Expression VisitUsing(UsingCSharpStatement node)
 {
     return(node.Update(VisitAndConvert(node.Variable, nameof(VisitUsing)), Visit(node.Resource), Visit(node.Body)));
 }
 protected internal virtual Expression VisitUsing(UsingCSharpStatement node)
 {
     return node.Update(VisitAndConvert(node.Variable, nameof(VisitUsing)), Visit(node.Resource), Visit(node.Body));
 }