@Override
    public MonetaryAmount apply(MonetaryAmount amount) {
        requireNonNull(amount, "Amount required.");
        NumberValue num = amount.getNumber();
        BigDecimal one = ONE.setScale(num.getScale() < 5 ? 5 : num.getScale(), HALF_EVEN);
        BigDecimal reciprocal = one.divide(num.numberValue(BigDecimal.class), HALF_EVEN);
        return amount.getFactory().setNumber(reciprocal).create();
    }
@ Override public MonetaryAmount apply ( MonetaryAmount amount ) { requireNonNull ( amount , "Amount required." ) ; NumberValue num = amount . getNumber ( ) ; BigDecimal one = ONE . setScale ( num . getScale ( ) < 5 ? 5 : num . getScale ( ) , HALF_EVEN ) ; BigDecimal reciprocal = one . divide ( num . numberValue ( BigDecimal . class ) , HALF_EVEN ) ; return amount . getFactory ( ) . setNumber ( reciprocal ) . create ( ) ; }
Gets the amount as reciprocal / multiplicative inversed value (1/n).
<p>
E.g. 'EUR 2.0' will be converted to 'EUR 0.5'.

@return the reciprocal / multiplicative inversed of the amount
@throws ArithmeticException if the arithmetic operation failed