code: public final void reload(final CClassLoaderConfig config) {
  		if (this == CClassLoader.getRootLoader()) {
  			return;
  		}
  
  		if (config == null) {
  			return;
  		}
  
  		final CClassLoader parent = ((CClassLoader) this.getParent());
  		parent.removeLoader(this.name);
  
  		if (this.isMandatory()) {
  			CClassLoader.mandatoryLoadersMap.remove(this.getPath());
  		}
  
  		final CClassLoader newLoader = CClassLoader.getLoader(parent.getPath()
  				+ "/" + this.name);
  		newLoader.config = this.config;
  		newLoader.booAlone = this.booAlone;
  		newLoader.booMandatory = this.booMandatory;
  		newLoader.booResourceOnly = this.booResourceOnly;
  		newLoader.booDoNotForwardToParent = this.booDoNotForwardToParent;
  
  		final List list = (List) config.getFilesMap().get(this.path);
  
  		for (final Iterator f = list.iterator(); f.hasNext();) {
  			final URL file = (URL) f.next();
  			newLoader.readDirectories(file);
  		}
  
  		final Iterator it = this.childrenMap.keySet().iterator();
  
  		while (it.hasNext()) {
  			final CClassLoader child = (CClassLoader) this.childrenMap.get(it
  					.next());
  			child.reload();
  		}
  
  		this._destroy(null);
  
  		if (newLoader.isMandatory()) {
  			CClassLoader.mandatoryLoadersMap
  					.put(newLoader.getPath(), newLoader);
  		}
  
  		newLoader.booInit = true;
  	}
docs: reload this loader
  
  @param config
  a loader config object