code: public URL getResourceURL(String filepath, URL urlCodeBase, String version, ClassLoader classLoader) throws RuntimeException
      {
          if (filepath == null)
              return null;
          if (File.separatorChar != '/')
              filepath = filepath.replace(File.separatorChar, '/'); // Just in case I get a window's path
  
          boolean isResource = true;
          if (urlCodeBase != null)
          	if ("file".equalsIgnoreCase(urlCodeBase.getProtocol()))
          		isResource = false;
          URL url = null;
          try {
          	if (isResource)
          		if (classLoader != null)
          		{
          			url = classLoader.getResource(filepath);
          			if (url == null)
          			    if (filepath.startsWith("/"))
          			        url = classLoader.getResource(filepath.substring(1));    // Classpaths shouldn't start with root
          		}
          } catch (Exception e) {
              // Keep trying
          }
  
          if (url == null)
          {
          	if (isResource)
          		if (this.getClassFinder(null) != null)
          			url = this.getClassFinder(null).findResourceURL(filepath, version);	// Try to find this class in the obr repos
          }
  
          if (url == null)
          {
              try
              {
                  if (urlCodeBase != null)
                      url = new URL(urlCodeBase, filepath);
              } catch(MalformedURLException ex) {
                  // Keep trying
              } catch (Exception e) {
                  // Keep trying
              }
          }
          return url;
      }
docs: Create this object given the class name.
  @param filepath
  @return