code: public static Collection<Class<? extends MonetaryAmount>> getAmountTypes() {
          return Optional.ofNullable(monetaryAmountsSingletonSpi())
                  .orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded.")).getAmountTypes();
      }
docs: Access all currently available {@link MonetaryAmount} implementation classes that are
  accessible from this {@link MonetaryAmount} singleton.
  
  @return all currently available {@link MonetaryAmount} implementation classes that have
  corresponding {@link MonetaryAmountFactory} instances provided, never {@code null}