       *  Actual instance of the working flash.globalization.StringTools
       *  instance.
       */
-    private var g11nWorkingInstance:flash.globalization.StringTools;
-
+    private var _g11nWorkingInstance:flash.globalization.StringTools;
+
+    /**
+     *  @private
+     *  If the g11nWorkingInstance has not been defined. Call
+     *  ensureStyleSource to ensure that there is a styleParent. If there is
+     *  not a style parent, then this instance will be added as a style client
+     *  to the topLevelApplication. As a side effect of this, the styleChanged
+     *  method will be called and if there is a locale style defined for the
+     *  topLevelApplication, the createWorkingInstance method will be
+     *  executed creating a g11nWorkingInstance.
+     */
+    private function get g11nWorkingInstance ():
+        flash.globalization.StringTools
+    {
+        if (!_g11nWorkingInstance)
+            ensureStyleSource();
+        
+        return _g11nWorkingInstance;
+    }
+    
+    private function set g11nWorkingInstance 
+        (flashStringTools:flash.globalization.StringTools): void 
+    {
+        _g11nWorkingInstance = flashStringTools;
+    }
     //--------------------------------------------------------------------------
     //
     //  Overridden Properties

     */
    public function toLowerCase(s:String):String
    {
        if (g11nWorkingInstance)
            return g11nWorkingInstance.toLowerCase(s);


    }

    /**
     *  @copy spark.globalization.SupportedClasses.CollatorBase#getAvailableLocaleIDNames
     *
     *  @langversion 3.0
     *  @playerversion Flash 10.1
