             var urlRequest:URLRequest = source is URLRequest ? 
                 source as URLRequest : new URLRequest(source as String);
             
+            // Cache our new LoaderInfo if applicable.
+            if (!cacheEntry && enableCaching) 
+            {
+                addCacheEntry(key, loader.contentLoaderInfo);
+                
+                // Mark entry as complete, we'll mark complete later 
+                // once fully loaded.
+                var entry:CacheEntryNode = cachedData[key];
+                if (entry)
+                    entry.complete = false;
+            }
+            
+            // Create ContentRequest instance to return to caller.
+            contentRequest = new ContentRequest(this, loader.contentLoaderInfo);
+            
             if (enableQueueing)
             {
                 // Queue load request.

    {
        var loaderInfo:LoaderInfo = e.target as LoaderInfo;
       
        if (e.type == Event.COMPLETE && loaderInfo && !loaderInfo.childAllowsParent)
        {
            // Detected that our loader cannot be shared or cached. Mark 
            // as such and notify and possibly active content requests.
            addCacheEntry(loaderInfo.url, UNTRUSTED);
            dispatchEvent(new LoaderInvalidationEvent(LoaderInvalidationEvent.INVALIDATE_LOADER, loaderInfo));
        }
        else if (e.type == IOErrorEvent.IO_ERROR || e.type == SecurityErrorEvent.SECURITY_ERROR)
        {

     *  @private
     */
    public var source:Object;
    
    //----------------------------------
    //  complete
    //----------------------------------
    
    /**
     *  For loaded content denotes that entry is finished loading.
     *  @private
     */
    public var complete:Boolean = true;
}

/**
