     //--------------------------------------------------------------------------
               
     /**
-     *  @copy spark.core.contentLoader.IContentLoader#load
-     */
-    public function load(source:Object, contentGrouping:String=null):ContentRequest
+     *  @copy spark.core.IContentLoader#load()
+     */
+    public function load(source:Object, contentLoaderGrouping:String=null):ContentRequest
     {   
-        var cacheEntry:CacheEntryNode = cachedData[source];
+        var key:Object = source is URLRequest ? URLRequest(source).url : source;
+        var cacheEntry:CacheEntryNode = cachedData[key];
         var contentRequest:ContentRequest;
                
-        if (!cacheEntry || cacheEntry.value == UNTRUSTED)
+        if (!cacheEntry || cacheEntry.value == UNTRUSTED || !enableCaching)
         {             
             // No previously cached entry or the entry is marked as
             // unshareable (untrusted).

			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler, 
				false, 0, true);
			
            loader.load(new URLRequest(source as String), loaderContext);
            contentRequest = new ContentRequest(this, loader.contentLoaderInfo);
            
            // Now cache our new loader info.
            if (!cacheEntry) 
                addEntry(source, loader.contentLoaderInfo);
        }
        else
        {

     *  @playerversion AIR 1.5
     *  @productversion Flex 4.5
     */
    public function get numCacheEntries():int 
    {
        return cacheEntries.length; 
    }
