code: function unloadResources(sName, bPreloadGroup, bUnloadAll, bDeleteExports) {
  		var aModules = [],
  			sURN, oModule;
  
  		if ( bPreloadGroup == null ) {
  			bPreloadGroup = true;
  		}
  
  		if ( bPreloadGroup ) {
  			// collect modules that belong to the given group
  			for ( sURN in mModules ) {
  				oModule = mModules[sURN];
  				if ( oModule && oModule.group === sName ) {
  					aModules.push(sURN);
  				}
  			}
  
  		} else {
  			// single module
  			if ( mModules[sName] ) {
  				aModules.push(sName);
  			}
  		}
  
  		aModules.forEach(function(sURN) {
  			var oModule = mModules[sURN];
  			if ( oModule && bDeleteExports && sURN.match(/\.js$/) ) {
  				// @evo-todo move to compat layer?
  				setGlobalProperty(urnToUI5(sURN), undefined);
  			}
  			if ( oModule && (bUnloadAll || oModule.state === PRELOADED) ) {
  			  delete mModules[sURN];
  			}
  		});
  
  	}
docs: Removes a set of resources from the resource cache.
  
  @param {string} sName unified resource name of a resource or the name of a preload group to be removed
  @param {boolean} [bPreloadGroup=true] whether the name specifies a preload group, defaults to true
  @param {boolean} [bUnloadAll] Whether all matching resources should be unloaded, even if they have been executed already.
  @param {boolean} [bDeleteExports] Whether exports (global variables) should be destroyed as well. Will be done for UI5 module names only.
  @experimental Since 1.16.3 API might change completely, apps must not develop against it.
  @private