 		_lastDrawX = 0;
 		_lastDrawY = 0;
 	}
+
+    /**
+     *  @private
+     *  Adds the TextLines to the reuse cache, and clears the textLines array.
+     */
+    mx_internal function releaseTextLines(textLinesArray:Array=null):void
+    {
+        if (!textLinesArray)
+            textLinesArray = mx_internal::textLines;
+            
+        for (var i:int = 0; i < textLinesArray.length; i++)
+        {
+            var textLine:TextLine = TextLine(textLinesArray[i]);
+            
+            // This method does the Flash Player version check so we don't
+            // have to.
+            TextLineRecycler.addLineForReuse(textLine);
+        }
+        
+        textLinesArray.length = 0;
+   }
 
     /**
      *  @private

            if (drawnDisplayObject)
                mx_internal::addTextLines(drawnDisplayObject);
            else
                mx_internal::textLines.length = 0;
                       
            displayObjectChanged = false;
        }  

	/**
	 *  @private
	 *  Removes the TextLines created by composeTextLines()
     *  from whatever container they were in.
     * 
	 *  This does not empty the textLines Array.
	 */
	mx_internal function removeTextLines():void
