public PostfixTemplatesListPanel(@NotNull List<PostfixTemplate> templates) {
    ColumnInfo[] columns = generateColumns(templates);
    ListTableModel<PostfixTemplate> templatesTableModel =
        new ListTableModel<PostfixTemplate>(columns, templates, 0);
    templatesTableModel.setSortable(true);
    myTemplatesTableView = new TableView<PostfixTemplate>();
    myTemplatesTableView.setModelAndUpdateColumns(templatesTableModel);
    myTemplatesTableView.setAutoCreateRowSorter(true);
    myTemplatesTableView.setShowGrid(false);
    myTemplatesTableView.setBorder(null);

    new TableViewSpeedSearch<PostfixTemplate>(myTemplatesTableView) {
      @Override
      protected String getItemText(@NotNull PostfixTemplate template) {
        return template.getPresentableName();
      }
    };

    myPanelWithTableView =
        ToolbarDecorator.createDecorator(myTemplatesTableView)
            .setAsUsualTopToolbar()
            .disableAddAction()
            .disableRemoveAction()
            .disableUpDownActions()
            .createPanel();
  }