@Override
	protected synchronized Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
		// First, check if the class has already been loaded
		Class<?> c = findLoadedClass(name);
		if (c == null) {
			// always check system class loader (for jvm classes & co)
			if (system != null) {
				try {
					c = system.loadClass(name);
				}
				catch (ClassNotFoundException ignored) {
				}
			}
			if (c == null) {
				try {
					// load local
					c = findClass(name);
				}
				catch (ClassNotFoundException e) {
					// fall back to parent
					c = super.loadClass(name, resolve);
				}
			}
		}
		if (resolve) {
			resolveClass(c);
		}
		return c;
	}
Extension for {@link URLClassLoader} that uses a parent-last (or child first) delegation.

@author Costin Leau
spring-xd-module/src/main/java/org/springframework/xd/module/support/ParentLastURLClassLoader.java