     public function getVisibleItemRenderer(rowIndex:int, columnIndex:int):IVisualElement
     {
         const index:int = getVisibleItemRendererIndex(rowIndex, columnIndex);
-        if (index == -1)
+        if (index == -1 || index >= visibleItemRenderers.length)
             return null;
         
         const renderer:IVisualElement = visibleItemRenderers[index];

                else
                    lastVisibleOffset = offset;
            }
            else
                visibleRowIndices[offset] = rowIndex - eventItemsLength;
        }
        
        // Remove the elements of visibleRowBackgrounds, visibleRowSeparators, visibleRowIndices,  

    private function takeVisibleItemRenderer(rowIndex:int, columnIndex:int):IVisualElement
    {
        const index:int = getVisibleItemRendererIndex(rowIndex, columnIndex);
        if (index == -1 || index >= visibleItemRenderers.length)
            return null;
        
        const renderer:IVisualElement = visibleItemRenderers[index];
