@Override
  public JComponent createComponent() {
    myPanel = new JPanel(new GridBagLayout()) {
      @Override
      public Dimension getPreferredSize() {
        return new Dimension(-1, 400);
      }
    };

    myExtPanel = new AddEditRemovePanel<>(new ExtUrlsTableModel(), myPairs, XmlBundle.message(
      "xml.external.resource.label.external.resources")) {
      @Override
      protected NameLocationPair addItem() {
        return addExtLocation();
      }

      @Override
      protected boolean removeItem(NameLocationPair o) {
        setModified(true);
        return true;
      }

      @Override
      protected NameLocationPair editItem(NameLocationPair o) {
        return editExtLocation(o);
      }
    };
    myExtPanel.getTable().setShowGrid(false);

    myExtPanel.setRenderer(1, new PathRenderer());

    JTable table = myExtPanel.getTable();
    if (myProject != null) {
      TableColumn column = table.getColumn(table.getColumnName(2));
      column.setMaxWidth(50);
      column.setCellEditor(JBTable.createBooleanEditor());
    }

    table.getModel().addTableModelListener(new TableModelListener() {
      @Override
      public void tableChanged(TableModelEvent e) {
        setModified(true);
      }
    });
    myIgnorePanel = new AddEditRemovePanel<>(new IgnoredUrlsModel(), myIgnoredUrls, XmlBundle.message(
      "xml.external.resource.label.ignored.resources")) {
      @Override
      protected String addItem() {
        return addIgnoreLocation();
      }

      @Override
      protected boolean removeItem(String o) {
        setModified(true);
        return true;
      }

      @Override
      protected String editItem(String o) {
        return editIgnoreLocation(o);
      }
    };
    myIgnorePanel.getTable().setShowGrid(false);

    myPanel.add(myExtPanel,
                new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
    myPanel.add(myIgnorePanel,
                new GridBagConstraints(0, 1, 1, 1, 1, 1, GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));

    myExtPanel.setData(myPairs);
    myIgnorePanel.setData(myIgnoredUrls);

    myExtPanel.getEmptyText().setText(XmlBundle.message("xml.external.resource.empty.text.no.external.resources"));
    myIgnorePanel.getEmptyText().setText(XmlBundle.message("xml.external.resource.empty.text.no.ignored.resources"));

    return myPanel;
  }
@Override
  public JComponent createComponent()