@Override public Fraction multiply(Fraction fraction){
  MathUtils.checkNotNull(fraction,LocalizedCoreFormats.FRACTION);
  if (numerator == 0 || fraction.numerator == 0) {
    return ZERO;
  }
  int d1=ArithmeticUtils.gcd(numerator,fraction.denominator);
  int d2=ArithmeticUtils.gcd(fraction.numerator,denominator);
  return getReducedFraction(ArithmeticUtils.mulAndCheck(numerator / d1,fraction.numerator / d2),ArithmeticUtils.mulAndCheck(denominator / d2,fraction.denominator / d1));
}

@ Override public Fraction multiply ( Fraction fraction ) { MathUtils . checkNotNull ( fraction , LocalizedCoreFormats . FRACTION ) ; if ( numerator == 0 || fraction . numerator == 0 ) { return ZERO ; } int d1 = ArithmeticUtils . gcd ( numerator , fraction . denominator ) ; int d2 = ArithmeticUtils . gcd ( fraction . numerator , denominator ) ; return getReducedFraction ( ArithmeticUtils . mulAndCheck ( numerator / d1 , fraction . numerator / d2 ) , ArithmeticUtils . mulAndCheck ( denominator / d2 , fraction . denominator / d1 ) ) ; }
multiplies the value of this fraction by another , returning the result in reduced form .
