         return layout.calculateDropLocation(event);
     }
 
+	/**
+	 *  Creates and instance of the dropIndicator class that is used to
+	 *  display the visuals of the drop location during a drag and dorp
+	 *  operation. The instance is set in the layout's 
+	 *  <code>dropIndicator</code> property.
+	 * 
+	 *  @return Returns the dropIndicator that was set in the layout.
+	 *
+	 *  @see #destroyDropIndicator
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+	 */
+	public function createDropIndicator():DisplayObject
+	{
+		// Do we have a drop indicator already?
+		if (layout.dropIndicator)
+			return layout.dropIndicator;
+		
+		var dropIndicatorInstance:DisplayObject;
+		if (dropIndicator)
+		{
+			dropIndicatorInstance = DisplayObject(createDynamicPartInstance("dropIndicator"));
+		}
+		else
+		{
+			var dropIndicatorClass:Class = Class(getStyle("dropIndicatorSkin"));
+			if (dropIndicatorClass)
+				dropIndicatorInstance = new dropIndicatorClass();
+		}
+		if (dropIndicatorInstance is IVisualElement)
+			IVisualElement(dropIndicatorInstance).owner = this;
+
+		// Set it in the layout
+		layout.dropIndicator = dropIndicatorInstance;
+		return dropIndicatorInstance;
+	}
+	
+	/**
+	 *  Releases the dropIndicator instance that is currently set in the layout.
+	 *
+	 *  @return Returns the dropIndicator that was removed. 
+	 * 
+	 *  @see #createDropIndicator
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+	 */
+	public function destroyDropIndicator():DisplayObject
+	{
+		var dropIndicatorInstance:DisplayObject = layout.dropIndicator;
+		if (!dropIndicatorInstance)
+			return null;
+		
+		// Release the reference from the layout
+		layout.dropIndicator = null;
+		
+		// Release it if it's a dynamic skin part
+		var count:int = numDynamicParts("dropIndicator");
+		for (var i:int = 0; i < count; i++)
+		{
+			if (dropIndicatorInstance == getDynamicPartAt("dropIndicator", i))
+			{
+				// This was a dynamic part, remove it now:
+				removeDynamicPartInstance("dropIndicator", dropIndicatorInstance);
+				break;
+			}
+		}
+		return dropIndicatorInstance;
+	}
+	
     /**
      *  @private
      *  Handles <code>DragEvent.DRAG_ENTER</code> events.  This method

     *  @param event The MouseEvent object.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    protected function mouseUpHandler(event:Event):void
    {

            
            // Create the dropIndicator instance. The layout will take care of
            // parenting, sizing, positioning and validating the dropIndicator.
			createDropIndicator();
            
            // Show focus
            drawFocusAnyway = true;
