      */
     public function TextGraphic()
     {
+        // Initialize staticImportExportConfiguration at instance-creation
+        // time rather than at static initialization time, to avoid
+        // any class-initialization-order problems.
+        if (!staticImportExportConfiguration)
+        {
+            staticImportExportConfiguration =
+                ImportExportConfiguration.defaultConfiguration;
+            
+            ImportExportConfiguration.restoreDefaults();
+        }
+
         super();
 
         _content = textFlow = createEmptyTextFlow();

            }
            else if (_content is Array)
            {
                textFlow = new TextFlow();
                textFlow.mxmlChildren = _content as Array;
            }
            else if (_content is FlowElement)
            {
                textFlow = new TextFlow();
                textFlow.mxmlChildren = [ _content ];
            }
	        else if (_content is XML)
            {
                textFlow = importXMLMarkup(XML(_content));
            }
            else if (_content is String)
            {
                textFlow = importStringMarkup(String(_content));
            }
            else if (_content == null)
            {

    /**
     *  @private
     */
    private function createTextFlowFromMarkup(markup:Object):TextFlow
    {
        // The whiteSpaceCollapse format determines how whitespace
        // is processed when markup is imported.
		staticCharacterFormat.whiteSpaceCollapse =
            getStyle("whiteSpaceCollapse");
		staticConfiguration.textFlowInitialCharacterFormat =
            staticCharacterFormat;
		staticImportExportConfiguration.textFlowConfiguration =
            staticConfiguration; 

        if (markup is String)
        {
            markup = '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008">' +
                     markup +
                     '</TextFlow>';
        }
        
        return TextFilter.importToFlow(markup, TextFilter.TEXT_LAYOUT_FORMAT,
                                       staticImportExportConfiguration);
    }
    
    /**
     *  @private
     */
    private function createTextFlowFromChildren(children:Array):TextFlow
    {
        var textFlow:TextFlow = new TextFlow();

        // The whiteSpaceCollapse format determines how whitespace
        // is processed when the children are set.
        staticCharacterFormat.whiteSpaceCollapse =
            getStyle("whiteSpaceCollapse");
        textFlow.hostCharacterFormat = staticCharacterFormat;

        textFlow.mxmlChildren = children;

        return textFlow;
    }

    /**
