code: static MonetaryAmount min(MonetaryAmount a, MonetaryAmount b) {
          MoneyUtils.checkAmountParameter(Objects.requireNonNull(a), Objects.requireNonNull(b.getCurrency()));
          return a.isLessThan(b) ? a : b;
      }
docs: Returns the smaller of two {@code MonetaryAmount} values. If the arguments
  have the same value, the result is that same value.
  @param a an argument.
  @param b another argument.
  @return the smaller of {@code a} and {@code b}.