private JTable createAdaptersPanel() {
    java.util.List<ToolAdapterOperatorDescriptor> toolboxSpis = new ArrayList<>();
    toolboxSpis.addAll(
        ToolAdapterRegistry.INSTANCE
            .getOperatorMap()
            .values()
            .stream()
            .map(e -> (ToolAdapterOperatorDescriptor) e.getOperatorDescriptor())
            .collect(Collectors.toList()));
    toolboxSpis.sort((o1, o2) -> o1.getAlias().compareTo(o2.getAlias()));
    OperatorsTableModel model = new OperatorsTableModel(toolboxSpis);
    operatorsTable = new JTable(model);
    operatorsTable.getColumnModel().getColumn(0).setMaxWidth(250);
    operatorsTable.getColumnModel().getColumn(1).setMaxWidth(LABEL_COLUMN_WIDTH);
    operatorsTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    operatorsTable.addMouseListener(
        new MouseListener() {
          @Override
          public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() >= 2) {
              int selectedRow = operatorsTable.getSelectedRow();
              // operatorsTable.getModel().setValueAt(true, selectedRow, 0);
              operatorsTable.repaint();
              ToolAdapterOperatorDescriptor operatorDesc =
                  ((OperatorsTableModel) operatorsTable.getModel()).getObjectAt(selectedRow);
              ToolAdapterEditorDialog dialog =
                  new ToolAdapterEditorDialog(appContext, operatorDesc, false);
              dialog.show();
              refreshContent();
            }
          }

          @Override
          public void mousePressed(MouseEvent e) {}

          @Override
          public void mouseReleased(MouseEvent e) {}

          @Override
          public void mouseEntered(MouseEvent e) {}

          @Override
          public void mouseExited(MouseEvent e) {}
        });
    return operatorsTable;
  }