                                     translation:Vector3D = null,
                                     postLayoutScale:Vector3D = null,
                                     postLayoutRotation:Vector3D = null,
-                                    postLayoutTranslation:Vector3D = null):void
-    {
+                                    postLayoutTranslation:Vector3D = null,
+                                    invalidateLayout:Boolean = true):void
+    {
+        // Make sure that no transform setters will trigger parent invalidation.
+        // Reset the flag at the end of the method.
+        var oldIncludeInLayout:Boolean;
+        if (!invalidateLayout)
+        {
+            oldIncludeInLayout = _includeInLayout;
+            _includeInLayout = false;
+        }
+
         // TODO (chaase): Would be nice to put this function in a central place
         // to be used by UIComponent, SpriteVisualElement, UIMovieClip, and
         // GraphicElement, since they all have similar or identical functions

        }

        invalidateProperties();

        if (hasEventListener("xChanged"))
            dispatchEvent(new Event("xChanged"));

                }
            }
        }
        
        if (!invalidateLayout)
            _includeInLayout = oldIncludeInLayout;
    }

    /**
