@Override
  protected ListTableModel<PathMapping> createListModel() {
    ColumnInfo<PathMapping, @NlsContexts.ListItem String> local = 
      new ElementsColumnInfoBase<>(ExecutionBundle.message("path.mapping.column.path.local")) {
      @Override
      public @NlsSafe String valueOf(PathMapping pathMapping) {
        return pathMapping.getLocalRoot();
      }

      @Override
      public boolean isCellEditable(PathMapping pathMapping) {
        return canDeleteElement(pathMapping);
      }

      @Override
      public void setValue(PathMapping pathMapping, String s) {
        if (s.equals(valueOf(pathMapping))) {
          return;
        }
        pathMapping.setLocalRoot(s);
        setModified();
      }

      @Override
      protected String getDescription(PathMapping pathMapping) {
        return valueOf(pathMapping);
      }
    };

    ColumnInfo<PathMapping, @NlsContexts.ListItem String> remote = 
      new ElementsColumnInfoBase<>(ExecutionBundle.message("path.mapping.column.path.remote")) {
      @Override
      public @NlsSafe String valueOf(PathMapping pathMapping) {
        return pathMapping.getRemoteRoot();
      }

      @Override
      public boolean isCellEditable(PathMapping pathMapping) {
        return canDeleteElement(pathMapping);
      }

      @Override
      public void setValue(PathMapping pathMapping, String s) {
        if (s.equals(valueOf(pathMapping))) {
          return;
        }
        pathMapping.setRemoteRoot(s);
        setModified();
      }

      @Override
      protected String getDescription(PathMapping pathMapping) {
        return valueOf(pathMapping);
      }
    };

    return new ListTableModel<>(local, remote);
  }
@Override
  protected ListTableModel<PathMapping> createListModel()