     mx_internal static function updateModalMask(sm:ISystemManager2,
                                      modalWindow:DisplayObject, 
                                      exclude:IUIComponent, 
+                                     excludeRect:Rectangle,
                                      mask:Sprite):void
     {
         var modalBounds:Rectangle = modalWindow.getBounds(DisplayObject(sm));

            showModalWindow(o, sm, false);
        else
            popup.visible = visibleFlag;
            
        // Send request to display a modal window in other sandboxes
        // If we are the sandbox root, then send the request to our parent.
        // If we are not the sandbox root, then send the request to our parent.
        var target:IEventDispatcher;
        if (smp)
            sm = SystemManagerProxy(smp).systemManager;
            
        if (sm.useBridge())
        {
            if (sm == sbRoot)
                target = sm.sandboxBridgeGroup.parentBridge;
            else
                target = sbRoot;
            
            if (popupStyleClient)
            {
                o.modalTransparencyDuration = popupStyleClient.getStyle("modalTransparencyDuration");
                o.modalTransparencyBlur = popupStyleClient.getStyle("modalTransparencyBlur");
            }

            // make sure this ApplicationDomain has an instance of pop up manager.
            if (sm != sbRoot)
                target.dispatchEvent(new MarshalEvent(MarshalEvent.INIT_MANAGER, false, false, 
                                     "mx.managers::IPopUpManager"));

            var modalRequest:ModalWindowRequest = new ModalWindowRequest(ModalWindowRequest.CREATE,
                                                                     !o.isRemoteModalWindow && sm != sbRoot,     
                                                                     visibleFlag,
                                                                     false,
                                                                     o.modalTransparencyDuration,
                                                                     o.modalTransparency,
                                                                     o.modalTransparencyColor,
                                                                     o.modalTransparencyBlur);
            var bridge:IEventDispatcher = sm.sandboxBridgeGroup.parentBridge;; 
            modalRequest.requestor = bridge;
            target.dispatchEvent(modalRequest);
        }
    }
    
    /**
     *  @private

        // sanity check that the popupdata is really a modal window with a null
        // parent and popup window.
        var popUpData:PopUpData = findHighestRemoteModalPopupInfo();
        popUpData.excludeRect = Rectangle(request.data);
        popUpData.modalTransparency = request.transparency;
        
        // disable blur because we can mask the application and blur is not
