code: @Override
      protected String findLibrary(String libname)
      {
          ResourceHandle md = getLibraryHandle(libname);
          if (md == null) {
              return null;
          }
          URL url = md.getURL();
          if (!"file".equals(url.getProtocol())) {
              return null;
          }
          return new File(URI.create(url.toString())).getPath();
      }
docs: Returns the absolute path name of a native library. The VM invokes this method to locate the native libraries
  that belong to classes loaded with this class loader. If this method returns <code>null</code>, the VM searches
  the library along the path specified as the <code>java.library.path</code> property. This method invoke
  {@link #getLibraryHandle} method to find handle of this library. If the handle is found and its URL protocol is
  "file", the system-dependent absolute library file path is returned. Otherwise this method returns null.
  <p>
  Subclasses can override this method to provide specific approaches in library searching.
  
  @param libname the library name
  @return the absolute path of the native library
  @see java.lang.System#loadLibrary(java.lang.String)
  @see java.lang.System#mapLibraryName(java.lang.String)