         
         // If no selection, then it's an append.
          if (!editManager.hasSelection())
-            editManager.setSelection(int.MAX_VALUE, int.MAX_VALUE);       
+            editManager.setSelection(int.MAX_VALUE, int.MAX_VALUE);
+            
+        // Our damage handler should be active.  Inserting the text invokes
+        // our damage handler to invalidate the text, maybe the size, and
+        // the display list.      
         editManager.insertText(text);
-
-        // Update TLF display.  This initiates the InsertTextOperation.
-        _inputManager.updateContainer();        
 
         // All done with edit manager.
         releaseEditManager();

        
        // An append is an insert with the selection set to the end.
        editManager.setSelection(int.MAX_VALUE, int.MAX_VALUE);
        editManager.insertText(text);

        // Update TLF display.  This initiates the InsertTextOperation.
        _inputManager.updateContainer();        

        // All done with edit manager.
        releaseEditManager();

     */
    private function getSelectionManager():ISelectionManager
    {
        // This triggers a damage event if the interactionManager is
        // changed.  Since changing the interactionManager doesn't change
        // the text, there is no need to trigger the damage event.
        
        _inputManager.removeEventListener(
            DamageEvent.DAMAGE, inputManager_damageHandler);
                       
    	var selectionManager:SelectionManager =
    	   SelectionManager(_inputManager.beginInteraction());

        _inputManager.addEventListener(
            DamageEvent.DAMAGE, inputManager_damageHandler);
            
        return selectionManager;            
    }

    /**
