             return popUp.displayPopUp;
         }
         
-        private function onDataProviderCollectionChange(event : CollectionEvent) : void {
+        private function onDataProviderCollectionChange(event : CollectionEvent) : void {            
             _dataProviderChanged = true;
             invalidateProperties();
         }
-        
+                
         private function onInputFieldChange(event : TextOperationEvent = null) : void {
             _completionAccepted = false;
             enteredText = inputTxt.text;

                        
        [Bindable]
        public function set dataProvider(value : Object) : void {
            if (value is Array) {
        		_collection = new ArrayCollection(value as Array);
            } else if (value is ArrayList) {
                _collection = new ArrayCollection(ArrayList(value).source);                
                ArrayList(value).addEventListener(CollectionEvent.COLLECTION_CHANGE, onDataProviderCollectionChange, false, 0, true);
            } else if (value is ArrayCollection) {
                _collection = new ArrayCollection((value as ArrayCollection).source);
                ArrayCollection(value).addEventListener(CollectionEvent.COLLECTION_CHANGE, onDataProviderCollectionChange, false, 0, true);
        	} else {
                _collection = new ArrayCollection();
            }            
            
            //reset previously selected item

	import flash.display.DisplayObjectContainer;
	import flash.events.Event;
	import flash.events.FocusEvent;
	import flash.events.IEventDispatcher;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
	
	import mx.collections.ArrayCollection;
	import mx.collections.ArrayList;
	import mx.collections.IList;
	import mx.collections.ListCollectionView;
	import mx.core.FlexGlobals;
	import mx.core.mx_internal;
	import mx.events.CollectionEvent;
