          */
         public function set caretColumnIndex(value:int):void
         {
+            _oldCaretColumnIndex = _caretColumnIndex;
+
             if (caretColumnIndex == value)
                 return;
             
-            _oldCaretColumnIndex = _caretColumnIndex;
             _caretColumnIndex = value;
             
             caretChanged = true;

         */
        public function set caretRowIndex(value:int):void
        {
            if (_caretRowIndex == value)
                return;
            
            _oldCaretRowIndex = _caretRowIndex;
            _caretRowIndex = value;
            
            caretChanged = true;

            return dataProvider.getItemIndex(item);
        }
        
       /**
         *  @private
         */
        private function getVisibleItemRenderer(rowIndex:int, columnIndex:int):IVisualElement
