public Number(Integer integer, Fraction fraction, Exponentiation exponentiation)
     : base(integer, fraction, exponentiation)
 {
     this.integer = integer;
     this.fraction = fraction;
     this.exponentiation = exponentiation;
 }
 protected virtual Fraction VisitFraction(Fraction node)
 {
     return VisitSyntaxNode(node) as Fraction;
 }
 public Number(Integer integer, Fraction fraction)
     : base(integer)
 {
     this.integer = integer;
     this.fraction = fraction;
 }
 protected override Fraction VisitFraction(Fraction node)
 {
     visitedFraction = true;
     Assert.IsTrue(node.ToString() == ".0");
     return base.VisitFraction(node);
 }