/** Freeze repaint to avoid repainting during changing the Graph. */
 public void executeWithoutRepaint(@NotNull Runnable action) {
   myRepaintFreezed = true;
   try {
     action.run();
   } finally {
     myRepaintFreezed = false;
   }
 }
 /** Refresh the data in this table. */
 public void refreshTable() {
   Runnable refresh =
       new Runnable() {
         public synchronized void run() {
           tableChanged(new TableModelEvent(tableModel, TableModelEvent.HEADER_ROW));
           refreshCellWidths();
         }
       };
   if (SwingUtilities.isEventDispatchThread()) {
     refresh.run();
   } else {
     SwingUtilities.invokeLater(refresh);
   }
 }