protected override Expression VisitYield(YieldExpression node)
 {
     _hasYield = true;
     return node;
 }
 protected virtual Expression VisitYield(YieldExpression node)
 {
     node.Arguments.ForEach(arg => Visit(arg.Value));
     return node;
 }