public static void registerProvider(ZoneRulesProvider provider) {
        Jdk8Methods.requireNonNull(provider, "provider");
        registerProvider0(provider);
        PROVIDERS.add(provider);
    }
public static void registerProvider ( ZoneRulesProvider provider ) { Jdk8Methods . requireNonNull ( provider , "provider" ) ; registerProvider0 ( provider ) ; PROVIDERS . add ( provider ) ; }
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