docs: @Override
      public Collection<MonetaryRounding> getRoundings(RoundingQuery query) {
          List<MonetaryRounding> result = new ArrayList<>();
          Collection<String> providerNames = query.getProviderNames();
          if (providerNames == null || providerNames.isEmpty()) {
              providerNames = getDefaultProviderChain();
          }
          for (String providerName : providerNames) {
              Bootstrap.getServices(RoundingProviderSpi.class).stream()
                      .filter(prov -> providerName.equals(prov.getProviderName())).forEach(prov -> {
                  try {
                      MonetaryRounding r = prov.getRounding(query);
                      if (r != null) {
                          result.add(r);
                      }
                  } catch (Exception e) {
                      Logger.getLogger(DefaultMonetaryRoundingsSingletonSpi.class.getName())
                              .log(Level.SEVERE, "Error loading RoundingProviderSpi from provider: " + prov, e);
                  }
              });
          }
          return result;
      }