code: 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;
      }
docs: 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.