public void cancelEditing() {
   new WriteCommandAction(null) {
     protected void run(@NotNull Result result) throws Throwable {
       if (myEditor.getEditor() != null) {
         myEditor.getEditor().getDocument().setText(myLastValue.toString());
       }
     }
   }.execute();
   myEditor.getComponent().repaint();
   stopCellEditing();
 }
 public Component getTableCellEditorComponent(
     JTable table, Object value, boolean isSelected, final int rowIndex, final int vColIndex) {
   myEditor =
       new MyTableEditor(
           myProject,
           new PyDebuggerEditorsProvider(),
           "numpy.array.table.view",
           null,
           new XExpressionImpl(
               value.toString(), PythonLanguage.getInstance(), "", EvaluationMode.CODE_FRAGMENT),
           getActionsAdapter(rowIndex, vColIndex));
   myLastValue = value;
   return myEditor.getComponent();
 }