     private static var focusedStageText:StageText = null;
     
     /**
+     *  A StageText corresponding to a control that was programmatically focused
+     *  while the StageText was unable to take focus. Focus should be set to
+     *  this StageText once it is able to take focus.
+     */
+    private static var pendingFocusedStageText:StageText = null;
+    
+    /**
      *  Text measuring behavior needs to be slightly different on Android
      *  devices to account for its native text being slightly taller. Without
      *  this adjustment, single-line text on Android will be clipped or will

        // by a proxy image). This component may be in a form that is lower in
        // z-order than the topmost form and we cannot allow the StageText,
        // which cannot clip, to appear above the topmost form.
        if (effectiveEnabled && stageText != null && stageText.visible)
            stageText.assignFocus();
    }
    
    /**

            // well if the soft keyboard is open. (If the soft keyboard is not
            // open, do not restore focus because doing so will force the soft
            // keyboard to open.)
            if (stageTextVisible)
            {
                if (stageText == focusedStageText && stage.softKeyboardRect.height > 0 ||
                    stageText == pendingFocusedStageText)
                {
                    stageText.assignFocus();
                }
            }
            
            // Do not remove the proxy bitmap until after stageText has been
