} else if (numerator == -1 * denominator) { toProperString = "-1";
    public String toProperString() {        if (toProperString == null) {            if (numerator == 0) {                toProperString = "0";            } else if (numerator == denominator) {                toProperString = "1";            } else if ((numerator>0?-numerator:numerator) < -denominator) {                // note that we do the magnitude comparison test above with                // NEGATIVE (not positive) numbers, since negative numbers                // have a larger range.  otherwise numerator==Integer.MIN_VALUE                // is handled incorrectly.                int properNumerator = getProperNumerator();                if (properNumerator == 0) {                    toProperString = Integer.toString(getProperWhole());                } else {                    toProperString = new StringBuffer(32)                        .append(getProperWhole()).append(' ')                        .append(properNumerator).append('/')                        .append(getDenominator()).toString();                }            } else {                toProperString = new StringBuffer(32)                    .append(getNumerator()).append('/')                    .append(getDenominator()).toString();            }        }        return toProperString;    }