code: @Pure
  	public static InputStream getResourceAsStream(ClassLoader classLoader, Package packagename, String path) {
  		if (packagename == null || path == null) {
  			return null;
  		}
  		final StringBuilder b = new StringBuilder();
  		b.append(packagename.getName().replaceAll(
  				Pattern.quote("."), //$NON-NLS-1$
  				Matcher.quoteReplacement(NAME_SEPARATOR)));
  		if (!path.startsWith(NAME_SEPARATOR)) {
  			b.append(NAME_SEPARATOR);
  		}
  		b.append(path);
  		ClassLoader cl = classLoader;
  		if (cl == null) {
  			cl = packagename.getClass().getClassLoader();
  		}
  		return getResourceAsStream(cl, b.toString());
  	}
docs: Replies the input stream of a resource.
  
  <p>You may use Unix-like syntax to write the resource path, ie.
  you may use slashes to separate filenames.
  
  <p>The name of {@code packagename} is translated into a resource
  path (by replacing the dots by slashes) and the given path
  is append to. For example, the two following codes are equivalent:<pre><code>
  Resources.getResources(Package.getPackage("org.arakhne.afc"), "/a/b/c/d.png");
  Resources.getResources("org/arakhne/afc/a/b/c/d.png");
  </code></pre>
  
  <p>If the {@code classLoader} parameter is <code>null</code>,
  the class loader replied by {@link ClassLoaderFinder} is used.
  If this last is <code>null</code>, the class loader of
  the Resources class is used.
  
  @param classLoader is the research scope. If <code>null</code>,
  the class loader replied by {@link ClassLoaderFinder} is used.
  @param packagename is the package in which the resource should be located.
  @param path is the relative path of the resource in the package.
  @return the url of the resource or <code>null</code> if the resource was
  not found in class paths.
  @since 6.2