code: @Nullable
    public static URL getClassPathURL (@Nonnull @Nonempty final String sPath)
    {
      ValueEnforcer.notEmpty (sPath, "Path");
  
      // Use the default class loader. Returns null if not found
      URL ret = ClassLoaderHelper.getResource (ClassLoaderHelper.getDefaultClassLoader (), sPath);
      if (ret == null)
      {
        // This is essential if we're running as a web application!!!
        ret = ClassHelper.getResource (URLHelper.class, sPath);
        if (ret == null)
        {
          // this is a fix for a user that needed to have the application
          // loaded by the bootstrap class loader
          ret = ClassLoaderHelper.getResource (ClassLoaderHelper.getSystemClassLoader (), sPath);
        }
      }
      return ret;
    }
docs: Get the URL for the specified path using automatic class loader handling.
  The class loaders are iterated in the following order:
  <ol>
  <li>Default class loader (usually the context class loader)</li>
  <li>The class loader of this class</li>
  <li>The system class loader</li>
  </ol>
  
  @param sPath
  The path to be resolved. May neither be <code>null</code> nor empty.
  @return <code>null</code> if the path could not be resolved.