         }
         return locales;
     }
+
+	/**
+     *  @copy mx.resources.IResourceManager#getPreferredLocaleChain()
+     */
+    public function getPreferredLocaleChain():Array /* of String */
+    {
+        return LocaleSorter.sortLocalesByPreference(
+            getLocales(), getSystemPreferredLocales(), null, true);
+    }
     
     /**
      *  @copy mx.resources.IResourceManager#getBundleNamesForLocale()

    }
    
    /**
     *  @copy mx.resources.IResourceManager#loadResourceModule()
     */
    public function loadResourceModule(url:String, updateFlag:Boolean = true,

import flash.events.IEventDispatcher;
import flash.events.TimerEvent;
import flash.system.ApplicationDomain;
import flash.system.Capabilities;
import flash.system.SecurityDomain;
import flash.utils.Timer;
import mx.core.IFlexModuleFactory;
