code: public static CertStore getInstance(String type,
              CertStoreParameters params, String provider)
              throws InvalidAlgorithmParameterException,
              NoSuchAlgorithmException, NoSuchProviderException {
          try {
              Instance instance = GetInstance.getInstance("CertStore",
                  CertStoreSpi.class, type, params, provider);
              return new CertStore((CertStoreSpi)instance.impl,
                  instance.provider, type, params);
          } catch (NoSuchAlgorithmException e) {
              return handleException(e);
          }
      }
docs: Returns a {@code CertStore} object that implements the specified
  {@code CertStore} type.
  
  <p> A new CertStore object encapsulating the
  CertStoreSpi implementation from the specified provider
  is returned.  The specified provider must be registered
  in the security provider list.
  
  <p> Note that the list of registered providers may be retrieved via
  the {@link Security#getProviders() Security.getProviders()} method.
  
  <p>The {@code CertStore} that is returned is initialized with the
  specified {@code CertStoreParameters}. The type of parameters
  needed may vary between different types of {@code CertStore}s.
  Note that the specified {@code CertStoreParameters} object is
  cloned.
  
  @param type the requested {@code CertStore} type.
  See the CertStore section in the <a href=
  "{@docRoot}openjdk-redirect.html?v=8&path=/technotes/guides/security/StandardNames.html#CertStore">
  Java Cryptography Architecture Standard Algorithm Name Documentation</a>
  for information about standard types.
  
  @param params the initialization parameters (may be {@code null}).
  
  @param provider the name of the provider.
  
  @return a {@code CertStore} object that implements the
  specified type.
  
  @throws NoSuchAlgorithmException if a CertStoreSpi
  implementation for the specified type is not
  available from the specified provider.
  
  @throws InvalidAlgorithmParameterException if the specified
  initialization parameters are inappropriate for this
  {@code CertStore}.
  
  @throws NoSuchProviderException if the specified provider is not
  registered in the security provider list.
  
  @exception IllegalArgumentException if the {@code provider} is
  null or empty.
  
  @see java.security.Provider