     /**
      *  Return the pool to its reserve size.
      */
-    private  function shrinkPool(multiline:Boolean):void
-    {
-        var oldStageText:StageText;
-
-        if (multiline)
-        {
-            while (multilinePool.length > poolReserve)
-            {
-                oldStageText = multilinePool.shift();
-                uncacheStageText(oldStageText);
-                oldStageText.dispose();
-            }
-        }
-        else
-        {
-            while (singleLinePool.length > poolReserve)
-            {
-                oldStageText = singleLinePool.shift();
-                uncacheStageText(oldStageText);
-                oldStageText.dispose();
-            }
-        }
-    }
-
-    /**
-     *  Remove a StageText and its last known StyleableStageText2 host from the
-     *  cache.
-     */
-    private  function uncacheStageText(stageText:StageText):void
-    {
-        var host:ScrollableStageText = map_StageText_to_StyleableStageText[stageText];
-
-        delete map_StyleableStageText_to_StageText[host];
-        delete map_StageText_to_StyleableStageText[stageText];
+    private function shrinkPool(multiline: Boolean): void
+    {
+        var oldStageText: StageText;
+        var pool: Vector.<StageText> = multiline ? multilinePool : singleLinePool;
+        while (pool.length > poolReserve)
+        {
+            oldStageText = pool.shift();
+            oldStageText.dispose();
+        }
     }
 }
        return _current;
    }

      //--------------------------------------------------------------------------
        //
        //  Constructor
        //
        //--------------------------------------------------------------------------

    /**
     * @private


import flash.events.TimerEvent;
import flash.text.StageText;
import flash.text.StageTextInitOptions;
import flash.utils.Timer;

/**  @private
 * StageTextPool maintains a pool a StageText to avoid allocating a new StageText each time a TextInput  is added to stage.
 *
 * StageText are removed from the pool when a TextInput  is added to the stage and added back when it removed from stage.
 *   If this causes the pool to grow
 *  larger than its reserve size, this starts a timer to check and reduce
 *  the size of the pool poolTimerInterval milliseconds later.
 *  StageText are disposed before being purged  from the pool.
 *
 * Not that SST keeps a reference to its last used StageText in savedStageText property, when it's removed from stage.
 * If the SST is added back to stage, it can reuse its saved StageText if it's also still in the pool (which means it has not been disposed, or used by anoter SST).
 *
 */
class StageTextPool
{
    //--------------------------------------------------------------------------
