     /**
      *  Used to render snap shots of screen elements in 
      *  preparation for transitioning.  
-     *  The bitmap is returned in the form of a BitmapImage object.  
-     *  The BitmapImage object's transform is adjusted so that
-     *  the bitmap matches the target.
+     *  The bitmap is returned in the form of a BitmapImage object.
+     *   
+     *  <p>The BitmapImage is in target's parent coordiantes space - 
+     *  it overlaps the target precisely if paranted to the same parent.
+     * 
+     *  When moving to a different parent, make sure to adjust the 
+     *  transformation of the BitmapImage to correctly account for the
+     *  change in coordinate spaces.
+     * 
+     *  The updated value of the <code>globalPosition</code> parameter
+     *  can be used for that.</p> 
      * 
      *  @param target Display object to capture.
      *  
      *  @param padding Padding around the object to be included in 
      *  the BitmapImage object.
      * 
+     *  @param globalPosition When non-null, <code>globalPosition</code>
+     *  will be updated with the origin of the BitmapImage in global 
+     *  coordiantes. When moving to a different coordinate space, this
+     *  value can be used to adjust the snapshot's position so its
+     *  global position on screen doesn't change. 
+     * 
      *  @return BitmapImage object representing the target.
      * 
      *  @langversion 3.0
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */ 
-    protected function getSnapshot(target:UIComponent, padding:int = 4):BitmapImage
+    protected function getSnapshot(target:UIComponent, padding:int = 4, globalPosition:Point = null):BitmapImage
     {       
         if (!target || !target.visible || target.width == 0 || target.height == 0)
             return null;

import flash.events.Event;
import flash.events.EventDispatcher;
import flash.geom.Matrix;
import flash.geom.Rectangle;

import mx.core.IVisualElement;

     */
    mx_internal var cachedTitleGroup:BitmapImage;
    
    /**
     *  @private
     *  Stores the location of the cached navigator in the global coordinate space
     *  so that the transition can properly position it when added to the display list.
     */ 
    mx_internal var cachedTitleGroupGlobalPosition:Point = new Point();
    
    //----------------------------------
    //  cachedNavigationGroupSnapshot
    //----------------------------------
