code: public CurrencyUnit build(boolean register) {
          BuildableCurrencyUnit cu = new BuildableCurrencyUnit(this);
          if (register) {
              ConfigurableCurrencyUnitProvider.registerCurrencyUnit(cu);
          }
          return cu;
      }
docs: Returns a new instance of {@link BuildableCurrencyUnit} and publishes it so it is
  accessible from the {@code Monetary} singleton.
  
  @param register if {@code true} the instance created is published so it is accessible from
  the {@code Monetary} singleton.
  @return the new CurrencyUnit instance.
  @see javax.money.Monetary#getCurrency(String, String...)