code: @Override
      public void registerResourceProvider(ResourceProvider provider) {
  	provider.setResources(this);
  	String scheme = provider.getScheme();
  	if (StringUtil.isEmpty(scheme)) return;
  
  	ResourceProviderFactory[] tmp = new ResourceProviderFactory[resources.length + 1];
  	for (int i = 0; i < resources.length; i++) {
  	    if (scheme.equalsIgnoreCase(resources[i].getScheme())) {
  		resources[i] = new ResourceProviderFactory(this, provider);
  		return;
  	    }
  	    tmp[i] = resources[i];
  	}
  	tmp[resources.length] = new ResourceProviderFactory(this, provider);
  	resources = tmp;
      }
docs: adds a additional resource to System
  
  @param provider