public ExchangeRateBuilder setRate(ExchangeRate rate) {
        this.base = rate.getBaseCurrency();
        this.term = rate.getCurrency();
        this.conversionContext = rate.getContext();
        this.factor = rate.getFactor();
        this.rateChain = rate.getExchangeRateChain();
        this.term = rate.getCurrency();
        return this;
    }
public ExchangeRateBuilder setRate ( ExchangeRate rate ) { this . base = rate . getBaseCurrency ( ) ; this . term = rate . getCurrency ( ) ; this . conversionContext = rate . getContext ( ) ; this . factor = rate . getFactor ( ) ; this . rateChain = rate . getExchangeRateChain ( ) ; this . term = rate . getCurrency ( ) ; return this ; }
Initialize the {@link ExchangeRateBuilder} with an {@link javax.money.convert.ExchangeRate}. This is
useful for creating a new rate, reusing some properties from an
existing one.

@param rate the base rate
@return the Builder, for chaining.