public O loadClassFromLibDirectory(Path libDirectory, String classFqdn) throws MalformedURLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
ClassLoader classLoader;
if (isClassLoadedFromParent(classFqdn)) {
classLoader = parentClassLoader;
} else {
File file = libDirectory.toFile();
classLoader = findCachedClassLoader(file.getAbsolutePath());
if (classLoader == null) {
classLoader = getJarsAddedClassLoader(file);
}
}
O actualObject = initInstanceFromClassloader(classFqdn, classLoader);
return createClassLoaderAwareProxyInstance(classLoader, actualObject);
}