     {
         if (instance == contentGroup)
         {
-            if (_placeHolderGroup != null)
-            {
-                var sourceContent:Array = _placeHolderGroup.getMXMLContent();
-                
-                // FIXME (rfrishbe): investigate why we need this, especially if these elements shouldn't 
-                // be added to the place holder Group's display list
-                // (aharui) They are added via calls to addElement if no other mxmlContent has been
-                // set.  This is a typical pattern when creating views from AS.  Create the child, 
-                // create the parent, addElement the child to the parent.
-                
-                // FIXME (rfrishbe): Also look at why we need a defensive copy for mxmlContent in Group, 
-                // especially if we make it mx_internal.
-                
-                // Temporary workaround because copying content from one Group to another throws RTE
-                for (var i:int = _placeHolderGroup.numElements; i > 0; i--)
+            if (_contentModified)
+            {
+                if (_placeHolderGroup != null)
                 {
-                    _placeHolderGroup.removeElementAt(0);  
+                    var sourceContent:Array = _placeHolderGroup.getMXMLContent();
+                    
+                    // FIXME (rfrishbe): investigate why we need this, especially if these elements shouldn't 
+                    // be added to the place holder Group's display list
+                    // (aharui) They are added via calls to addElement if no other mxmlContent has been
+                    // set.  This is a typical pattern when creating views from AS.  Create the child, 
+                    // create the parent, addElement the child to the parent.
+                    
+                    // FIXME (rfrishbe): Also look at why we need a defensive copy for mxmlContent in Group, 
+                    // especially if we make it mx_internal.
+                    
+                    // Temporary workaround because copying content from one Group to another throws RTE
+                    for (var i:int = _placeHolderGroup.numElements; i > 0; i--)
+                    {
+                        _placeHolderGroup.removeElementAt(0);  
+                    }
+                    
+                    contentGroup.mxmlContent = sourceContent ? sourceContent.slice() : null;
+                    
                 }
-                
-                contentGroup.mxmlContent = sourceContent ? sourceContent.slice() : null;
-                
-            }
-            else if (_mxmlContent != null)
-            {
-                contentGroup.mxmlContent = _mxmlContent;
-                _mxmlContent = null;
+                else if (_mxmlContent != null)
+                {
+                    contentGroup.mxmlContent = _mxmlContent;
+                    _mxmlContent = null;
+                }
             }
             
             // copy proxied values from contentGroupProperties (if set) to contentGroup

     */
    public function removeAllElements():void
    {
        currentContentGroup.removeAllElements();
    }
    

    /**
     *  @private
     */
    private static const AUTO_LAYOUT_PROPERTY_FLAG:uint = 1 << 0;
    
    /**
     *  @private
     */
    private static const CLIP_AND_ENABLE_SCROLLING_PROPERTY_FLAG:uint = 1 << 1;
    
    /**
     *  @private
