code: private static void loadLibrary(final ClassLoader loader, final String name, final boolean absolute) {
          Throwable suppressed = null;
          try {
              try {
                  // Make sure the helper is belong to the target ClassLoader.
                  final Class<?> newHelper = tryToLoadClass(loader, NativeLibraryUtil.class);
                  loadLibraryByHelper(newHelper, name, absolute);
                  logger.debug("Successfully loaded the library {}", name);
                  return;
              } catch (UnsatisfiedLinkError e) { // Should by pass the UnsatisfiedLinkError here!
                  suppressed = e;
                  logger.debug("Unable to load the library '{}', trying other loading mechanism.", name, e);
              } catch (Exception e) {
                  suppressed = e;
                  logger.debug("Unable to load the library '{}', trying other loading mechanism.", name, e);
              }
              NativeLibraryUtil.loadLibrary(name, absolute);  // Fallback to local helper class.
              logger.debug("Successfully loaded the library {}", name);
          } catch (UnsatisfiedLinkError ule) {
              if (suppressed != null) {
                  ThrowableUtil.addSuppressed(ule, suppressed);
              }
              throw ule;
          }
      }
docs: Loading the native library into the specified {@link ClassLoader}.
  @param loader - The {@link ClassLoader} where the native library will be loaded into
  @param name - The native library path or name
  @param absolute - Whether the native library will be loaded by path or by name