code: public Class<?> findClass(String className) throws ClassNotFoundException {
  		Object location = classResourceLocations.get(className);
  		if (location == null && this.propertiesResourceLocations.containsKey(className)) {
  			String fileName = (String) propertiesResourceLocations.get(className);
  			if (fileName.endsWith(".properties")) {
  				//notify invoker that file is present as properties file
  				return ResourceBundle.class;
  			} else {
  				throw new ClassNotFoundException("resource '" + fileName + "' for class '" + className + "' has incompatible format");
  			}
  		}
  		if (className.startsWith("java.")) {
  			return super.findClass(className);
  		}
  		if (location == null) {
  			throw new ClassNotFoundException("class '" + className + "' not found in " + classpath);
  		}
  		String fileName = className.replace('.', '/') + ".class";
  
  		byte[] data;
  		try {
  			data = getData(fileName, location);
  		} catch (IOException ioe) {
  			throw new NoClassDefFoundError("class '" + className + "' could not be loaded from '" + location + "' with message: " + ioe);
  		}
  		return defineClass(className, data, 0, data.length);
  	}
docs: Tries to locate a class in the specific class path.
  
  @param className
  @return
  @throws ClassNotFoundException