code: public static Money total(Money... monies) {
          MoneyUtils.checkNotNull(monies, "Money array must not be null");
          if (monies.length == 0) {
              throw new IllegalArgumentException("Money array must not be empty");
          }
          Money total = monies[0];
          MoneyUtils.checkNotNull(total, "Money arary must not contain null entries");
          for (int i = 1; i < monies.length; i++) {
              total = total.plus(monies[i]);
          }
          return total;
      }
docs: Obtains an instance of {@code Money} as the total value of an array.
  <p>
  The array must contain at least one monetary value.
  Subsequent amounts are added as though using {@link #plus(Money)}.
  All amounts must be in the same currency.
  
  @param monies  the monetary values to total, not empty, no null elements, not null
  @return the total, never null
  @throws IllegalArgumentException if the array is empty
  @throws CurrencyMismatchException if the currencies differ