             if (_caretRowIndex == value)
                 return;
             
+            // ToDo: why isn't there any validation being done on value?
+
             _caretRowIndex = value;
             
             caretChanged = true;

            if (caretRowIndex != -1)
                updateCaretForDataProviderChange(event);
            
			// The following conditional block is written as a nested if due to ASC-4110
            if (gridDimensions)
			{
				if(hoverRowIndex != -1)
					updateHoverForDataProviderChange(event);	
			}

            invalidateSize();
            invalidateDisplayList();

            return layout as GridLayout;
        }
        
        //--------------------------------------------------------------------------
        //
        //  Properties
