public Fraction Reduce()
        {
            var gcdOperator = new Gcd();
            var gcd         = gcdOperator.Execute((ulong)Math.Abs(Numerator), Denominator);
            var negative    = Numerator < 0;

            Numerator /= (long)gcd;
            if (negative)
            {
                Numerator *= -1;
            }

            Denominator /= (ulong)gcd;

            return(this);
        }