jodd-core/src/main/java/jodd/util/cl/DefaultClassLoaderStrategy.java
protected Class loadClass(final String className, final String arrayClassName, final ClassLoader classLoader) {
		if (arrayClassName != null) {
			try {
				if (loadArrayClassByComponentTypes) {
					return loadArrayClassByComponentType(className, classLoader);
				} else {
					return Class.forName(arrayClassName, true, classLoader);
				}
			} catch (ClassNotFoundException ignore) {
			}
		}

		try {
			return classLoader.loadClass(className);
		} catch (ClassNotFoundException ignore) {
		}

		return null;
	}
protected Class loadClass(final String className, final String arrayClassName, final ClassLoader classLoader) {
		if (arrayClassName != null) {
			try {
				if (loadArrayClassByComponentTypes) {
					return loadArrayClassByComponentType(className, classLoader);
				} else {
					return Class.forName(arrayClassName, true, classLoader);
				}
			} catch (ClassNotFoundException ignore) {
			}
		}

		try {
			return classLoader.loadClass(className);
		} catch (ClassNotFoundException ignore) {
		}

		return null;
	}
Loads a class using provided class loader.
If class is an array, it will be first loaded using the <code>Class.forName</code>!
We must use this since for JDK {@literal >=} 6 arrays will be not loaded using classloader,
but only with <code>forName</code> method. However, array loading strategy can be
{@link #setLoadArrayClassByComponentTypes(boolean) changed}.