 
 import mx.core.DragSource;
 import mx.core.EventPriority;
+import mx.core.IFactory;
 import mx.core.IFlexDisplayObject;
+import mx.core.IUID;
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
 import mx.events.DragEvent;
 import mx.events.SandboxMouseEvent;
 import mx.managers.DragManager;
 import mx.managers.IFocusManagerComponent;
+import mx.utils.ObjectUtil;
+import mx.utils.UIDUtil;
 
 import spark.components.supportClasses.ListBase;
 import spark.core.NavigationUnit;
 import spark.events.IndexChangeEvent;
 import spark.events.RendererExistenceEvent;
+import spark.layouts.supportClasses.DropLocation;
 
 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal
 

        removeMouseHandlersForDragStart();
    }
    
    //--------------------------------------------------------------------------
    //
    //  Event Handlers

    private function copySelectedItemsForDragDrop():Vector.<Object>
    {
        // Copy the vector so that we don't modify the original
         // since selectedIndices returns a reference.
        var draggedIndices:Vector.<int> = selectedIndices.slice(0, selectedIndices.length);
        var result:Vector.<Object> = new Vector.<Object>(draggedIndices.length);

