@Override
  public void updateValues() {
    List<KeyValueProperty> items = new LinkedList<>();
    TableModel model = itemsTable.getModel();
    int size = model.getRowCount();

    for (int i = 0; i < size; i++) {
      String key = (String) model.getValueAt(i, 0);
      String value = (String) model.getValueAt(i, 1);
      items.add(new KeyValueProperty(null, key, value));
    }

    fProperty.setItems(items);
  }
  @Override
  public void setProperty(Property property) {
    fProperty = (KeyValueSetProperty) property;

    DefaultTableModel model = (DefaultTableModel) itemsTable.getModel();

    for (int i = model.getRowCount() - 1; i >= 0; i--) {
      model.removeRow(i);
    }

    Iterator<KeyValueProperty> e = fProperty.getItems().iterator();

    while (e.hasNext()) {
      KeyValueProperty p = e.next();
      String[] row = new String[2];
      row[0] = p.getKey();
      row[1] = p.getValue();
      model.addRow(row);
    }

    sortItems();
    updateView();
  }