public T divide(T divisor) {
        if (divisor == null) {
            throw new IllegalArgumentException("invalid (null) divisor");
        }
        BigDecimal quotient = this.value.divide(divisor.value, ROUND_BEHAVIOR);

        return newInstance(quotient, this.value.scale());
    }
public T divide ( T divisor ) { if ( divisor == null ) { throw new IllegalArgumentException ( "invalid (null) divisor" ) ; } BigDecimal quotient = this . value . divide ( divisor . value , ROUND_BEHAVIOR ) ; return newInstance ( quotient , this . value . scale ( ) ) ; }
Wraps BigDecimal's divide method to enforce the default rounding
behavior

@param divisor the value to divide by
@return result of dividing this value by the given divisor
@throws IllegalArgumentException if the given divisor is null