code: public static void registerProvider(ZoneRulesProvider provider) {
          Jdk8Methods.requireNonNull(provider, "provider");
          registerProvider0(provider);
          PROVIDERS.add(provider);
      }
docs: Registers a zone rules provider.
  <p>
  This adds a new provider to those currently available.
  A provider supplies rules for one or more zone IDs.
  A provider cannot be registered if it supplies a zone ID that has already been
  registered. See the notes on time-zone IDs in {@link ZoneId}, especially
  the section on using the concept of a "group" to make IDs unique.
  <p>
  To ensure the integrity of time-zones already created, there is no way
  to deregister providers.
  
  @param provider  the provider to register, not null
  @throws ZoneRulesException if a region is already registered