FLEX-34756 Split the functionality provided by FlowComposerBase.isDamaged() and StandardFlowComposer.isDamaged() into two separate functions, because 1) they do very different things, and 2) to solve FLEX-34756 I need the former.
-Also improved some comments and imports.
diff --git a/textLayout/src/flashx/textLayout/compose/FlowComposerBase.as b/textLayout/src/flashx/textLayout/compose/FlowComposerBase.as
index b050201..7ed9f23 100644
--- a/textLayout/src/flashx/textLayout/compose/FlowComposerBase.as
+++ b/textLayout/src/flashx/textLayout/compose/FlowComposerBase.as
@@ -29,7 +29,7 @@
 	import flashx.textLayout.elements.FlowLeafElement;
 	import flashx.textLayout.elements.TextFlow;
 	import flashx.textLayout.tlf_internal;
-	
+
 	use namespace tlf_internal;
 	
 	[Exclude(name="initializeLines",kind="method")]
@@ -310,7 +310,6 @@
 				startPosition = 0;
 			}
 			
-			// find the line at damageStart
 			if (_lines.length == 0 || textFlow.textLength == 0)
 				return;
 				
@@ -319,10 +318,12 @@
 				return;
 				
 			CONFIG::debug { assert(startPosition + damageLength <= textFlow.textLength, "Damaging past end of flow!"); }
-			
-			// Start damaging one line before the startPosition location in case some of the first "damaged" line will fit on the previous line.
-			var lineIndex:int = findLineIndexAtPosition(startPosition);
-			var leaf:FlowLeafElement = textFlow.findLeaf(startPosition);
+
+            // find the line at damageStart
+            var lineIndex:int = findLineIndexAtPosition(startPosition);
+
+            // Start damaging one line before the startPosition location in case some of the first "damaged" line will fit on the previous line.
+            var leaf:FlowLeafElement = textFlow.findLeaf(startPosition);
 			if (leaf && lineIndex > 0)
 				lineIndex--;
 
@@ -367,6 +368,20 @@
 			return _damageAbsoluteStart <= absolutePosition && _damageAbsoluteStart != textFlow.textLength;
 		}
 
+
+		/**
+		 * @copy IFlowComposer#isPotentiallyDamaged()
+		 *
+		 * @playerversion Flash 10
+		 * @playerversion AIR 1.5
+	 	 * @langversion 3.0
+		 */
+
+		public function isPotentiallyDamaged(absolutePosition:int):Boolean
+		{
+			return isDamaged(absolutePosition);
+		}
+
 		/** @private */
 		CONFIG::debug public function checkFirstDamaged():void
 		{
diff --git a/textLayout/src/flashx/textLayout/compose/IFlowComposer.as b/textLayout/src/flashx/textLayout/compose/IFlowComposer.as
index 2b5a700..fc461de 100644
--- a/textLayout/src/flashx/textLayout/compose/IFlowComposer.as
+++ b/textLayout/src/flashx/textLayout/compose/IFlowComposer.as
@@ -431,7 +431,23 @@
 	 	 */
 	 	 
 		function isDamaged(absolutePosition:int):Boolean;
-		
+
+		/**
+		 * Indicates whether any TextFlowLine objects between the beginning of the flow and the line containing the content at
+		 * the specified position are marked as damaged OR if there are other clues that the textFlow should be rebuilt.
+		 *
+		 * @param absolutePosition the last position in the area of interest
+		 * @return 	true if any of the TextFlowLine objects from the start of the flow up to the line containing the content at
+		 * <code>absolutePosition</code> are marked as damaged OR if there are other reasons to believe the textFlow is damaged.
+		 *
+         * @see flashx.textLayout.compose.IFlowComposer#isDamaged()
+		 * @playerversion Flash 10
+		 * @playerversion AIR 1.5
+	 	 * @langversion 3.0
+	 	 */
+
+		function isPotentiallyDamaged(absolutePosition:int):Boolean;
+
 		
 		/** 
 		 * True, if the flow composer is currently performing a composition operation.
diff --git a/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as b/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
index ca4b66e..9c93e94 100644
--- a/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
+++ b/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
@@ -628,10 +628,10 @@
 		//--------------------------------------------------------------------------
 		
 		/** @private Override required because we may be damaged if the last container has scrolling */
-		public override function isDamaged(absolutePosition:int):Boolean
+		public override function isPotentiallyDamaged(absolutePosition:int):Boolean
 		{
 			// Returns true if any text from _damageAbsoluteStart through absolutePosition needs to be recomposed
-			if (!super.isDamaged(absolutePosition))
+			if (!super.isPotentiallyDamaged(absolutePosition))
 			{	
 				if (absolutePosition == _textFlow.textLength)
 				{
diff --git a/textLayout/src/flashx/textLayout/container/ContainerController.as b/textLayout/src/flashx/textLayout/container/ContainerController.as
index a000035..58a93ad 100644
--- a/textLayout/src/flashx/textLayout/container/ContainerController.as
+++ b/textLayout/src/flashx/textLayout/container/ContainerController.as
@@ -47,6 +47,7 @@
     import flashx.textLayout.compose.FlowDamageType;
     import flashx.textLayout.compose.IFlowComposer;
     import flashx.textLayout.compose.TextFlowLine;
+    import flashx.textLayout.compose.TextFlowTableBlock;
     import flashx.textLayout.compose.TextLineRecycler;
     import flashx.textLayout.debug.Debugging;
     import flashx.textLayout.debug.assert;
@@ -55,6 +56,7 @@
     import flashx.textLayout.edit.ISelectionManager;
     import flashx.textLayout.edit.SelectionFormat;
     import flashx.textLayout.elements.BackgroundManager;
+    import flashx.textLayout.elements.CellCoordinates;
     import flashx.textLayout.elements.Configuration;
     import flashx.textLayout.elements.ContainerFormattedElement;
     import flashx.textLayout.elements.FlowElement;
@@ -63,6 +65,9 @@
     import flashx.textLayout.elements.InlineGraphicElement;
     import flashx.textLayout.elements.ParagraphElement;
     import flashx.textLayout.elements.TCYElement;
+    import flashx.textLayout.elements.TableBlockContainer;
+    import flashx.textLayout.elements.TableCellElement;
+    import flashx.textLayout.elements.TableRowElement;
     import flashx.textLayout.elements.TextFlow;
     import flashx.textLayout.events.FlowElementMouseEventManager;
     import flashx.textLayout.events.ModelChange;
@@ -79,55 +84,8 @@
     import flashx.textLayout.utils.Twips;
 
     use namespace tlf_internal;
-	
-	import flashx.textLayout.compose.FloatCompositionData;
-	import flashx.textLayout.compose.FlowComposerBase;
-	import flashx.textLayout.compose.FlowDamageType;
-	import flashx.textLayout.compose.IFlowComposer;
-	import flashx.textLayout.compose.TextFlowLine;
-	import flashx.textLayout.compose.TextFlowTableBlock;
-	import flashx.textLayout.compose.TextLineRecycler;
-	import flashx.textLayout.debug.Debugging;
-	import flashx.textLayout.debug.assert;
-	import flashx.textLayout.edit.EditingMode;
-	import flashx.textLayout.edit.IInteractionEventHandler;
-	import flashx.textLayout.edit.ISelectionManager;
-	import flashx.textLayout.edit.SelectionFormat;
-	import flashx.textLayout.elements.BackgroundManager;
-	import flashx.textLayout.elements.CellCoordinates;
-	import flashx.textLayout.elements.CellRange;
-	import flashx.textLayout.elements.Configuration;
-	import flashx.textLayout.elements.ContainerFormattedElement;
-	import flashx.textLayout.elements.FlowElement;
-	import flashx.textLayout.elements.FlowLeafElement;
-	import flashx.textLayout.elements.FlowValueHolder;
-	import flashx.textLayout.elements.InlineGraphicElement;
-	import flashx.textLayout.elements.LinkElement;
-	import flashx.textLayout.elements.ParagraphElement;
-	import flashx.textLayout.elements.TableBlockContainer;
-	import flashx.textLayout.elements.TableCellElement;
-	import flashx.textLayout.elements.TableElement;
-	import flashx.textLayout.elements.TableRowElement;
-	import flashx.textLayout.elements.TextFlow;
-	import flashx.textLayout.events.FlowElementMouseEvent;
-	import flashx.textLayout.events.FlowElementMouseEventManager;
-	import flashx.textLayout.events.ModelChange;
-	import flashx.textLayout.events.ScrollEvent;
-	import flashx.textLayout.events.ScrollEventDirection;
-	import flashx.textLayout.events.TextLayoutEvent;
-	import flashx.textLayout.events.UpdateCompleteEvent;
-	import flashx.textLayout.formats.BlockProgression;
-	import flashx.textLayout.formats.Float;
-	import flashx.textLayout.formats.FormatValue;
-	import flashx.textLayout.formats.ITextLayoutFormat;
-	import flashx.textLayout.formats.TextLayoutFormat;
-	import flashx.textLayout.property.Property;
-	import flashx.textLayout.tlf_internal;
-	import flashx.textLayout.utils.Twips;
-	
-	use namespace tlf_internal;
-	
-	/** 
+
+	/**
 	 * The ContainerController class defines the relationship between a TextFlow object and a container.
 	 * A TextFlow may have one or more rectangular areas that can hold text; the text is said to be flowing
 	 * through the containers. Each container is a Sprite that is the parent DisplayObject for the TextLines.
@@ -722,7 +680,7 @@
 		
 		public function isDamaged():Boolean
 		{
-			return flowComposer.isDamaged(absoluteStart + _textLength);
+			return flowComposer.isPotentiallyDamaged(absoluteStart + _textLength);
 		}
 		
 		/** called whenever the container attributes are changed.  Mark computed attributes and columnstate as out of date. 
diff --git a/textLayout/src/flashx/textLayout/container/TextContainerManager.as b/textLayout/src/flashx/textLayout/container/TextContainerManager.as
index a89566a..99ccce3 100644
--- a/textLayout/src/flashx/textLayout/container/TextContainerManager.as
+++ b/textLayout/src/flashx/textLayout/container/TextContainerManager.as
@@ -475,7 +475,7 @@
 	 	 * @langversion 3.0
 	 	 */
 		public function isDamaged():Boolean
-		{ return _composeState == COMPOSE_FACTORY ? _damaged : _textFlow.flowComposer.isDamaged(_textFlow.textLength); }
+		{ return _composeState == COMPOSE_FACTORY ? _damaged : _textFlow.flowComposer.isPotentiallyDamaged(_textFlow.textLength); }
 		
 		/** Editing mode of this TextContainerManager. Modes are reading only, reading and selection permitted, 
 		 * and editing (reading, selection, and writing)  permitted. Use the constant values of the EditingMode
diff --git a/textLayout/src/flashx/textLayout/elements/TableCellElement.as b/textLayout/src/flashx/textLayout/elements/TableCellElement.as
index 197d4c9..c734010 100644
--- a/textLayout/src/flashx/textLayout/elements/TableCellElement.as
+++ b/textLayout/src/flashx/textLayout/elements/TableCellElement.as
@@ -91,7 +91,7 @@
 		}
 
 		public function isDamaged():Boolean {
-			return _damaged || (_textFlow && _textFlow.flowComposer.isDamaged(_textFlow.textLength));
+			return _damaged || (_textFlow && _textFlow.flowComposer.isPotentiallyDamaged(_textFlow.textLength));
 		}
 		
 		private var _savedPaddingTop:Number = 0;
@@ -229,12 +229,12 @@
 			damage();
 		}
 
-		public function get enableIME():Boolean

+		public function get enableIME():Boolean
 		{
 			return _enableIME;
 		}
 
-		public function set enableIME(value:Boolean):void

+		public function set enableIME(value:Boolean):void
 		{
 			_enableIME = value;
 		}
@@ -251,7 +251,7 @@
 		/**
 		 * Gets the width.
 		 **/
-		public function get width():Number

+		public function get width():Number
 		{
 			return _width;
 		}
@@ -259,7 +259,7 @@
 		/**
 		 * @private
 		 **/
-		public function set width(value:Number):void

+		public function set width(value:Number):void
 		{
 			if(_width != value) {
 				_damaged = true;
@@ -273,7 +273,7 @@
 		/**
 		 * Returns the height of the cell. 
 		 **/
-		public function get height():Number

+		public function get height():Number
 		{
 			//return getRowHeight(); not sure if we should always use row height
 			return _height;
@@ -282,7 +282,7 @@
 		/**
 		 * @private
 		 **/
-		public function set height(value:Number):void

+		public function set height(value:Number):void
 		{
 			if (_height != value) {
 				_damaged = true;
@@ -313,23 +313,23 @@
 			return getRow() ? getRow().composedHeight : NaN;
 		}
 
-		public function get rowSpan():uint

+		public function get rowSpan():uint
 		{
 			return _rowSpan;
 		}
 
-		public function set rowSpan(value:uint):void

+		public function set rowSpan(value:uint):void
 		{
 			if(value >= 1)
 				_rowSpan = value;
 		}
 
-		public function get columnSpan():uint

+		public function get columnSpan():uint
 		{
 			return _columnSpan;
 		}
 
-		public function set columnSpan(value:uint):void

+		public function set columnSpan(value:uint):void
 		{
 			if(value >= 1)
 				_columnSpan = value;
@@ -364,22 +364,22 @@
 			return table ? table.getPreviousCell(this) : null;
 		}
 
-		public function get x():Number

+		public function get x():Number
 		{
 			return container.x;
 		}
 
-		public function set x(value:Number):void

+		public function set x(value:Number):void
 		{
 			container.x = value;
 		}
 
-		public function get y():Number

+		public function get y():Number
 		{
 			return container.y;
 		}
 
-		public function set y(value:Number):void

+		public function set y(value:Number):void
 		{
 			container.y = value;
 		}
@@ -446,12 +446,12 @@
 			return paddingAmount;
 		}
 
-		public function get includeDescentInCellBounds():Boolean

+		public function get includeDescentInCellBounds():Boolean
 		{
 			return _includeDescentInCellBounds;
 		}
 
-		public function set includeDescentInCellBounds(value:Boolean):void

+		public function set includeDescentInCellBounds(value:Boolean):void
 		{
 			_includeDescentInCellBounds = value;
 		}