code: public static BigMoney of(BigMoneyProvider moneyProvider) {
          MoneyUtils.checkNotNull(moneyProvider, "BigMoneyProvider must not be null");
          BigMoney money = moneyProvider.toBigMoney();
          MoneyUtils.checkNotNull(money, "BigMoneyProvider must not return null");
          return money;
      }
docs: Obtains an instance of {@code BigMoney} from a provider.
  <p>
  This allows you to create an instance from any class that implements the
  provider, such as {@code Money}.
  This method simply calls {@link BigMoneyProvider#toBigMoney()} checking for nulls.
  
  @param moneyProvider  the money to convert, not null
  @return the new instance, never null