code: protected Class<?> loadClass(String className) throws ClassNotFoundException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "loadClass", className);
          }
          Class<?> theClass = null;
          try {
              if (appClassloader != null) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "Class loader to be used " + appClassloader);
                  }
                  theClass = Class.forName(className, true, appClassloader);
              } else {
                  // Unexpected, so you need to use the context class loader
                  ClassLoader cl = getContextClassLoader();
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "appClassloader is null, so try using context class loader " + cl);
                  }
                  theClass = Class.forName(className, true, cl);
              }
          } catch (ClassNotFoundException cnfe) {
              Tr.error(tc, BVNLSConstants.BVKEY_CLASS_NOT_FOUND, new Object[] { ivBVContext.getPath(), className, cnfe });
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                  Tr.event(tc, "Unable to create a ValidationFactory", cnfe);
              }
              throw cnfe;
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "loadClass", theClass);
          }
          return theClass;
  
      }
docs: Load the class on the application class loader given the class name. If the application
  class loader wasn't passed in, it is assumed that the current TCCL is already set
  so that is what is used.
  
  @param className - class name to find. Cannot be null.
  
  @throws ClassNotFoundException