code: public static CertPathBuilder getInstance(String algorithm,
              Provider provider) throws NoSuchAlgorithmException {
          Instance instance = GetInstance.getInstance("CertPathBuilder",
              CertPathBuilderSpi.class, algorithm, provider);
          return new CertPathBuilder((CertPathBuilderSpi)instance.impl,
              instance.provider, algorithm);
      }
docs: Returns a {@code CertPathBuilder} object that implements the
  specified algorithm.
  
  <p> A new CertPathBuilder object encapsulating the
  CertPathBuilderSpi implementation from the specified Provider
  object is returned.  Note that the specified Provider object
  does not have to be registered in the provider list.
  
  @param algorithm the name of the requested {@code CertPathBuilder}
  algorithm.  See the CertPathBuilder section in the <a href=
  "{@docRoot}openjdk-redirect.html?v=8&path=/technotes/guides/security/StandardNames.html#CertPathBuilder">
  Java Cryptography Architecture Standard Algorithm Name Documentation</a>
  for information about standard algorithm names.
  
  @param provider the provider.
  
  @return a {@code CertPathBuilder} object that implements the
  specified algorithm.
  
  @exception NoSuchAlgorithmException if a CertPathBuilderSpi
  implementation for the specified algorithm is not available
  from the specified Provider object.
  
  @exception IllegalArgumentException if the {@code provider} is
  null.
  
  @see java.security.Provider