### Question:
CrossGammaParameterSensitivities implements FxConvertible<CrossGammaParameterSensitivities>, ImmutableBean, Serializable { public CurrencyAmount total(Currency resultCurrency, FxRateProvider rateProvider) { CrossGammaParameterSensitivities converted = convertedTo(resultCurrency, rateProvider); double total = converted.sensitivities.stream() .mapToDouble(s -> s.getSensitivity().total()) .sum(); return CurrencyAmount.of(resultCurrency, total); } @ImmutableConstructor private  CrossGammaParameterSensitivities(List<? extends CrossGammaParameterSensitivity> sensitivities); private  CrossGammaParameterSensitivities(ImmutableList<CrossGammaParameterSensitivity> sensitivities); static CrossGammaParameterSensitivities empty(); static CrossGammaParameterSensitivities of(CrossGammaParameterSensitivity sensitivity); static CrossGammaParameterSensitivities of(CrossGammaParameterSensitivity... sensitivities); static CrossGammaParameterSensitivities of(List<? extends CrossGammaParameterSensitivity> sensitivities); int size(); CrossGammaParameterSensitivity getSensitivity(MarketDataName<?> name, Currency currency); CrossGammaParameterSensitivity getSensitivity(
      MarketDataName<?> nameFirst,
      MarketDataName<?> nameSecond,
      Currency currency); Optional<CrossGammaParameterSensitivity> findSensitivity(MarketDataName<?> name, Currency currency); CrossGammaParameterSensitivities combinedWith(CrossGammaParameterSensitivity other); CrossGammaParameterSensitivities combinedWith(CrossGammaParameterSensitivities other); @Override CrossGammaParameterSensitivities convertedTo(Currency resultCurrency, FxRateProvider rateProvider); CurrencyAmount total(Currency resultCurrency, FxRateProvider rateProvider); MultiCurrencyAmount total(); CurrencyParameterSensitivities diagonal(); CrossGammaParameterSensitivities multipliedBy(double factor); CrossGammaParameterSensitivities mapSensitivities(DoubleUnaryOperator operator); boolean equalWithTolerance(CrossGammaParameterSensitivities other, double tolerance); static CrossGammaParameterSensitivities.Meta meta(); @Override CrossGammaParameterSensitivities.Meta metaBean(); ImmutableList<CrossGammaParameterSensitivity> getSensitivities(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_total_multipleCurrency() { assertThat(SENSI_2.total(USD, FX_RATE).getAmount()).isCloseTo(MATRIX_USD2.total() + MATRIX_EUR1.total() * 1.6d, offset(1e-8)); }