         // methods if they want to
         iterator = collection.createCursor();
         collectionIterator = collection.createCursor(); //IViewCursor(collection);
-
         // trace("ListBase added change listener");
         collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler, false, 0, true);
-
+		
         clearSelectionData();
 
         var event:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);

        if (!iteratorValid)
            return;

        if (!collection)
            return;

        switch (event.keyCode)

            }

            len = selectionDataArray.length;
            var selectionData:ListBaseSelectionData;
            var lastSelectionData:ListBaseSelectionData = firstSelectionData;
            if (len)
            {
                selectionData = selectionDataArray[0];
                if (selectionData) // can be null if selectedItem not in DP
                {
                    uid = itemToUID(selectionData.data);
                    insertSelectionDataBefore(uid, selectionData, firstSelectionData);
                    lastSelectionData = selectionData;
                }
            }
            for (i = 1; i < len; i++)
            {
                selectionData = selectionDataArray[i];
                if (selectionData) // can be null if selectedItem not in DP
                {
                    uid = itemToUID(selectionData.data);
                    insertSelectionDataAfter(uid, selectionData, lastSelectionData);
                    lastSelectionData = selectionData;
                }
            }
            selectionDataArray = null;
            proposedSelectedItemIndexes = null;
