     {
         if (!event.isResourceModule && event.loaderInfo)
         {
-            var rsl:Array = rslDataList[event.rslIndex];
+            var rsl:Vector.<RSLData> = Vector.<RSLData>(rslDataList[event.rslIndex]);
             var moduleFactory:IFlexModuleFactory = this;
             if (rsl && rsl[0].moduleFactory)
                 moduleFactory = rsl[0].moduleFactory; 
 
             if (moduleFactory == this)
                 preloadedRSLs[event.loaderInfo] =  rsl;
-            else if ("addPreloadedRSL" in moduleFactory)
-                moduleFactory["addPreloadedRSL"](event.loaderInfo, rsl);
+            else
+                moduleFactory.addPreloadedRSL(event.loaderInfo, rsl);
         }
     }
     

        // Append RSL information in the RSL list.
        if (rsls != null && rsls.length > 0)
        {
            if (normalizedURL == null)
                normalizedURL = LoaderUtil.normalizeURL(this.loaderInfo);


    //----------------------------------
    
    /**
     *  @inheritDoc 
     *  
     */
    public function  get preloadedRSLs():Dictionary
    {
