private BigDecimal transferAmount(Account account1, Account account2, BigDecimal amount1) { if (account1.getCurrency().equals(account2.getCurrency())) return amount1; BigDecimal rate1 = currencyRates.get(account1.getCurrencyCode()); BigDecimal rate2 = currencyRates.get(account2.getCurrencyCode()); return amount1.multiply(rate1).divide(rate2, 0, RoundingMode.HALF_UP); }