code: static Object newInstance(
          String className,
          ClassLoader classLoader)
          throws ConfigurationError {
  
          try {
              Class spiClass;
              if (classLoader == null) {
                  spiClass = Class.forName(className);
              } else {
                  spiClass = classLoader.loadClass(className);
              }
  
              if (debug) {
                  debugPrintln("Loaded " + className + " from " + which(spiClass));
              }
  
              return spiClass.newInstance();
          } catch (ClassNotFoundException x) {
              throw new ConfigurationError(
                  "Provider " + className + " not found", x);
          } catch (Exception x) {
              throw new ConfigurationError(
                  "Provider " + className + " could not be instantiated: " + x, x);
          }
      }
docs: <p>Create an instance of a class using the specified ClassLoader.</p>
  
  @param className Name of class to create.
  @param classLoader ClassLoader to use to create named class.
  
  @return New instance of specified class created using the specified ClassLoader.
  
  @throws ConfigurationError If class could not be created.