docs: public boolean isCellEditable(EventObject e) {
          if (e instanceof MouseEvent) {
              MouseEvent me = (MouseEvent)e;
              // If the modifiers are not 0 (or the left mouse button),
              // tree may try and toggle the selection, and table
              // will then try and toggle, resulting in the
              // selection remaining the same. To avoid this, we
              // only dispatch when the modifiers are 0 (or the left mouse
              // button).
              if (me.getModifiers() == 0 ||
                  ((me.getModifiers() & (InputEvent.BUTTON1_MASK|1024)) != 0 &&
                   (me.getModifiers() &
                    (InputEvent.SHIFT_MASK |
                     InputEvent.CTRL_MASK |
                     InputEvent.ALT_MASK |
                     InputEvent.BUTTON2_MASK |
                     InputEvent.BUTTON3_MASK |
                     64   | //SHIFT_DOWN_MASK
                     128  | //CTRL_DOWN_MASK
                     512  | // ALT_DOWN_MASK
                     2048 | //BUTTON2_DOWN_MASK
                     4096   //BUTTON3_DOWN_MASK
                     )) == 0)) {
                  int row = rowAtPoint(me.getPoint());
                  for (int counter = getColumnCount() - 1; counter >= 0;
                       counter--) {
                      if (TreeTableModel.class == getColumnClass(counter)) {
                          MouseEvent newME = new MouseEvent
                              (MyTreeTable.this.tree, me.getID(),
                               me.getWhen(), me.getModifiers(),
                               me.getX() - getCellRect(row, counter, true).x,
                               me.getY(), me.getClickCount(),
                               me.isPopupTrigger());
                          MyTreeTable.this.tree.dispatchEvent(newME);
                          break;
                      }
                  }
              }
              if (me.getClickCount() >= 3) {
                  return true;
              }
              return false;
          }
          if (e == null) {
              return true;
          }
          return false;
      }