@Override
    public Geldbetrag divide(Number divisor) {
        BigDecimal d = toBigDecimal(divisor, context);
        if (BigDecimal.ONE.compareTo(d) == 0) {
            return this;
        }
        return Geldbetrag
                .valueOf(betrag.setScale(4, RoundingMode.HALF_UP).divide(d, RoundingMode.HALF_UP), currency);
    }
@ Override public Geldbetrag divide ( Number divisor ) { BigDecimal d = toBigDecimal ( divisor , context ) ; if ( BigDecimal . ONE . compareTo ( d ) == 0 ) { return this ; } return Geldbetrag . valueOf ( betrag . setScale ( 4 , RoundingMode . HALF_UP ) . divide ( d , RoundingMode . HALF_UP ) , currency ) ; }
Returns a {@code MonetaryAmount} whose value is <code>this /
divisor</code>, and whose preferred scale is <code>this.scale() -
divisor.scale()</code>; if the exact quotient cannot be represented an {@code ArithmeticException}
is thrown.

@param divisor value by which this {@code MonetaryAmount} is to be divided.
@return {@code this / divisor}
@throws ArithmeticException if the exact quotient does not have a terminating decimal expansion, or if the
result exceeds the numeric capabilities of this implementation class, i.e. the
{@link MonetaryContext} cannot be adapted as required.