Buggy code:
public class BigFraction extends Number implements Comparable < BigFraction > { public static final BigFraction ONE = new BigFraction ( 1 , 1 ) ; public static final BigFraction ZERO = new BigFraction ( 0 , 1 ) ; public static final BigFraction FOUR_FIFTHS = new BigFraction ( 4 , 5 ) ; public static final BigFraction ONE_FIFTH = new BigFraction ( 1 , 5 ) ; public static final BigFraction ONE_HALF = new BigFraction ( 1 , 2 ) ; public static final BigFraction ONE_QUARTER = new BigFraction ( 1 , 4 ) ; public static final BigFraction ONE_THIRD = new BigFraction ( 1 , 3 ) ; public static final BigFraction THREE_FIFTHS = new BigFraction ( 3 , 5 ) ; public static final BigFraction THREE_QUARTERS = new BigFraction ( 3 , 4 ) ; public static final BigFraction TWO_FIFTHS = new BigFraction ( 4 , 5 ) ; public static final BigFraction TWO_QUARTERS = new BigFraction ( 2 , 4 ) ; public static final BigFraction TWO_THIRDS = new BigFraction ( 2 , 3 ) ; public static final BigFraction MINUS_ONE = new BigFraction ( ( - 1 ) , 1 ) ; private static final long serialVersionUID = - 5984892138972589598L ; private static final BigInteger ONE_HUNDRED_DOUBLE = BigInteger . valueOf ( 100 ) ; private final BigInteger numerator ; private final BigInteger denominator ; public static BigFraction getReducedFraction ( final int numerator , final int denominator ) { if ( numerator == 0 ) { return BigFraction . ZERO ; } <START_BUG> return new BigFraction ( numerator , denominator ) . reduce ( ) ; <END_BUG> } public BigFraction ( final BigInteger num ) { } public BigFraction ( BigInteger num , BigInteger den ) { } public BigFraction ( final double value ) throws IllegalArgumentException { } public BigFraction ( final double value , final double epsilon , final int maxIterations ) throws FractionConversionException { } private BigFraction ( final double value , final double epsilon , final int maxDenominator , int maxIterations ) throws FractionConversionException { } public BigFraction ( final double value , final int maxDenominator ) throws FractionConversionException { } public BigFraction ( final int num ) { } public BigFraction ( final int num , final int den ) { } public BigFraction ( final long num ) { } public BigFraction ( final long num , final long den ) { } public BigFraction abs ( ) { } public BigFraction add ( final BigInteger bg ) { } public BigFraction add ( final BigFraction fraction ) { } public BigFraction add ( final int i ) { } public BigFraction add ( final long l ) { } public BigDecimal bigDecimalValue ( ) { } public BigDecimal bigDecimalValue ( final int roundingMode ) { } public BigDecimal bigDecimalValue ( final int scale , final int roundingMode ) { } public int compareTo ( final BigFraction object ) { } public BigFraction divide ( final BigInteger bg ) { } public BigFraction divide ( final BigFraction fraction ) { } public BigFraction divide ( final int i ) { } public BigFraction divide ( final long l ) { } @ Override public double doubleValue ( ) { } @ Override public boolean equals ( final Object other ) { } @ Override public float floatValue ( ) { } public BigInteger getDenominator ( ) { } public int getDenominatorAsInt ( ) { } public long getDenominatorAsLong ( ) { } public BigInteger getNumerator ( ) { } public int getNumeratorAsInt ( ) { } public long getNumeratorAsLong ( ) { } @ Override public int hashCode ( ) { } @ Override public int intValue ( ) { } @ Override public long longValue ( ) { } public BigFraction multiply ( final BigInteger bg ) { } public BigFraction multiply ( final BigFraction fraction ) { } public BigFraction multiply ( final int i ) { } public BigFraction multiply ( final long l ) { } public BigFraction negate ( ) { } public double percentageValue ( ) { } public BigFraction pow ( final BigInteger exponent ) { } public double pow ( final BigFraction exponent ) { } public BigFraction pow ( final int exponent ) { } public BigFraction pow ( final long exponent ) { } public BigFraction reciprocal ( ) { } public BigFraction reduce ( ) { } public BigFraction subtract ( final BigInteger bg ) { } public BigFraction subtract ( final BigFraction fraction ) { } public BigFraction subtract ( final int i ) { } public BigFraction subtract ( final long l ) { } @ Override public String toString ( ) { } }

Fix:
return new BigFraction ( numerator , denominator ) ;