             dest[propertyName] = value;
         }
     }
+    
+    /**
+     *  @private
+     *  We've detected that our IDeferredContentOwnder target has created its
+     *  content, so it's safe to apply our override content now.
+     */
+    private function onDestinationContentCreated(e:Event):void
+    {
+        if (parentContext)
+        {
+            removeCreationCompleteListener();
+            apply(parentContext);
+        }   
+    }
+    
+    /**
+     *  @private
+     *  Remove our contentCreationComplete listener.
+     */
+    private function removeCreationCompleteListener():void
+    {
+        if (parentContext)
+        {
+            parentContext.removeEventListener("contentCreationComplete", onDestinationContentCreated);
+            _waitingForDeferredContent = false;
+        }   
+    }
 }
 
 }

                // able to successfully apply ourselves, so remove our context
                // listener if applicable.
                removeContextListener();
                applied = false;
                parentContext = null;
            }
            return;
        }
                    

        
        if ( (propertyName == null || propertyName == "mxmlContent") && (dest is IVisualElementContainer))
        {
            if (!addItemsToContentHolder(dest as IVisualElementContainer, localItems))
                return;
        }
        else if (propertyName == null && dest is IChildList)
        {
