      *  It stops composing when the composition rectangle has been filled.
      *  Returns true if all lines were composed, otherwise false.
      */
-    override protected function composeTextLines(width:Number = NaN,
-												 height:Number = NaN):Boolean
+    override mx_internal function composeTextLines(width:Number = NaN,
+												   height:Number = NaN):Boolean
     {
         super.composeTextLines(width, height);
         

            // and formats.  The measured indicator lines could be cached but
            // as well as being dependent on the indicator string, they are 
            // dependent on the given width.            
            staticTextElement.text = mx_internal::truncationIndicatorResource;
            var indicatorLines:Vector.<DisplayObject> =
            	new Vector.<DisplayObject>();
            var indicatorBounds:Rectangle = new Rectangle(0, 0, width, NaN);

        // This will save a recompose and/or clip in updateDisplayList()
        // if  bounds width matches the unscaled width.
        if (getStyle("lineBreak") == "toFit" && 
            !isNaN(width) && bounds.width < width)
        {
            bounds.width = width;
        }
                                               
        // Add the new text lines to the container.
        addTextLines(DisplayObjectContainer(drawnDisplayObject));

        // Figure out if a scroll rect is needed.
        isOverset = isTextOverset(width, height);
        
        // Just recomposed so reset.
        invalidateCompose = false;     
        
        return allLinesComposed;           
    }
