         override protected function commitProperties():void {            
             if (_dataProviderChanged) {
                 list.dataProvider = _collection;
-                
+                                
                 if (!dataProvider || dataProvider.length == 0) {
                     enabled = false;
                     displayErrorMessage();

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

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