// private methods
 private bool CompareAccumulator(AccumulatorExpression a, AccumulatorExpression b)
 {
     return(a.AccumulatorType == b.AccumulatorType &&
            Compare(a.Argument, b.Argument));
 }
 protected internal virtual Expression VisitAccumulator(AccumulatorExpression node)
 {
     return(node.Update(Visit(node.Argument)));
 }