### Question:
CurrencyScenarioArray implements ScenarioArray<CurrencyAmount>, ScenarioFxConvertible<CurrencyScenarioArray>, ImmutableBean, Serializable { public CurrencyScenarioArray plus(CurrencyScenarioArray other) { return CurrencyScenarioArray.of(amounts.plus(other.amounts)); } private  CurrencyScenarioArray(
      CurrencyAmountArray amounts); static CurrencyScenarioArray of(CurrencyAmountArray amounts); static CurrencyScenarioArray of(Currency currency, DoubleArray values); static CurrencyScenarioArray of(List<CurrencyAmount> amounts); static CurrencyScenarioArray of(int size, IntFunction<CurrencyAmount> amountFunction); Currency getCurrency(); @Override int getScenarioCount(); @Override CurrencyAmount get(int index); @Override Stream<CurrencyAmount> stream(); @Override CurrencyScenarioArray convertedTo(Currency reportingCurrency, ScenarioFxRateProvider fxRateProvider); CurrencyScenarioArray plus(CurrencyScenarioArray other); CurrencyScenarioArray plus(CurrencyAmount amount); CurrencyScenarioArray minus(CurrencyScenarioArray other); CurrencyScenarioArray minus(CurrencyAmount amount); static CurrencyScenarioArray.Meta meta(); @Override CurrencyScenarioArray.Meta metaBean(); CurrencyAmountArray getAmounts(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void plus() { CurrencyScenarioArray currencyScenarioArray = CurrencyScenarioArray.of(GBP, DoubleArray.of(1, 2, 3)); CurrencyScenarioArray arrayToAdd = CurrencyScenarioArray.of(GBP, DoubleArray.of(4, 5, 6)); CurrencyScenarioArray plusArraysResult = currencyScenarioArray.plus(arrayToAdd); assertThat(plusArraysResult).isEqualTo(CurrencyScenarioArray.of(GBP, DoubleArray.of(5, 7, 9))); CurrencyAmount amountToAdd = CurrencyAmount.of(Currency.GBP, 10); CurrencyScenarioArray plusAmountResult = currencyScenarioArray.plus(amountToAdd); assertThat(plusAmountResult).isEqualTo(CurrencyScenarioArray.of(GBP, DoubleArray.of(11, 12, 13))); }