         else if (!itemEditorInstance)
         {
             _editedItemPosition = null;
-            
+
             // return focus to the grid w/o selecting an item
             dataGrid.setFocus();
         }
     }
-    
-    /**
-     *  @private
-     * 
+
+    /**
+     *  @private
+     *
      *  Handle the F2 key to start editing a cell.
      */
     private function dataGrid_keyboardDownHandler(event:KeyboardEvent):void
     {
         if (!dataGrid.editable || dataGrid.selectionMode == GridSelectionMode.NONE)
             return;
-        
+
         if (event.isDefaultPrevented())
             return;
-        
+
         lastEvent = event;
-        
+
         if (event.keyCode == dataGrid.editKey)
         {
             // ignore F2 if we are already editing a cell or the column is not
             // editable
             if (itemEditorInstance)
                 return;
-            
-            // Edit the last column edited. If no last column then try to 
+
+            // Edit the last column edited. If no last column then try to
             // edit the first column.
             var nextCell:Point = null;
             if (dataGrid.isRowSelectionMode())
             {
                 var lastColumn:int = lastEditedItemPosition ? lastEditedItemPosition.columnIndex : 0;
-                openEditorInNextEditableCell(dataGrid.grid.caretRowIndex, 
+                openEditorInNextEditableCell(dataGrid.grid.caretRowIndex,
                                                         lastColumn - 1,
                                                         false);
                 return;
             }
             else if (canEditColumn(grid.caretColumnIndex))
             {
-                dataGrid.startItemEditorSession(grid.caretRowIndex, grid.caretColumnIndex);                
-            }
-        }            
-    }
-    
-    /**
-     *  @private
-     * 
+                dataGrid.startItemEditorSession(grid.caretRowIndex, grid.caretColumnIndex);
+            }
+        }
+    }
+
+    /**
+     *  @private
+     *
      */
     private function grid_gridMouseDownHandler(event:GridEvent):void
     {

                    return null;
            }
        } while (!canEditColumn(columnIndex));
        
        return new Point(rowIndex, columnIndex);
    }
    
    
    /**
     *  @private
     * 
     *  @param columnIndex
     * 
     *  @return true if the column can be edited, false otherwise.
     */ 
    private function canEditColumn(columnIndex:int):Boolean
    {
        var column:GridColumn = grid.columns.getItemAt(columnIndex) as GridColumn; 
        return (dataGrid.editable && 
                column.editable &&
                column.visible);
    }
    
    /**
     *  @private
     * 
     *  Test if the cell was selected at the last selection snapshot.
     */
    private function wasCellPreviouslySelected(rowIndex:int, columnIndex:int):Boolean

                itemEditor = dataGrid.itemEditor;
            if (!itemEditor)
                itemEditor = GridColumn.defaultItemEditorFactory;

            if (itemEditor == GridColumn.defaultItemEditorFactory)
            {
                // if it is the default factory, see if someone
