         if (dragSource.hasFormat("items"))
             insertItems(dropIndex, dragSource, event);
         else
-            insertOrderedItems(dropIndex, dragSource, event);
+            insertItemsByIndex(dropIndex, dragSource, event);
 
         lastDragEvent = null;
     }
     
     /**
      *  @private 
-     *  Insert for drag and drop, handles the Spark "orderedItems" data format.
-     */
-    private function insertOrderedItems(dropIndex:int, dragSource:DragSource, event:DragEvent):void
-    {
-        var items:Vector.<Object> = dragSource.dataForFormat("orderedItems") as Vector.<Object>;
+     *  Insert for drag and drop, handles the Spark "itemsByIndex" data format.
+     */
+    private function insertItemsByIndex(dropIndex:int, dragSource:DragSource, event:DragEvent):void
+    {
+        var items:Vector.<Object> = dragSource.dataForFormat("itemsByIndex") as Vector.<Object>;
         
         // Copy or move the items. No need to check whether the operation is
         // reorder within this list, as ListBase never creates the
-        // "orderedItems" data format. This is a new data format from Spark List only. 
+        // "itemsByIndex" data format. This is a new data format from Spark List only. 
         collectionIterator.seek(CursorBookmark.FIRST, dropIndex);
         var count:int = items.length;
         for (var i:int = 0; i < count; i++)

		dragSource.addHandler(copySelectedItems, "items");
		
		// The Spark drag drop data format
		dragSource.addHandler(copySelectedItemsForDragDrop, "orderedItems");

		// Calculate the index of the focus item within the vector
		// of ordered items returned for the "orderedItems" format.
		var caretIndex:int = 0;
		var draggedIndices:Array = selectedIndices;
		var count:int = draggedIndices.length;

			if (mouseDownIndex > draggedIndices[i])
				caretIndex++;
		}
		dragSource.addData(caretIndex, "caretIndex");
    }
	
	/**
