listeningOnProperties.add(p);
  public void propertyValueChanged(PropertyEvent e) {    Property p = e.getProperty();    p.removePropertyListener(this);    int row =       ((PropTableModelBase)(propertyTable.getModel())).getRowForProperty(p);    if (row != -1) {      Object value = null;      if (p.isValueSet())	value = p.getValue();      else	value = "<not set>";      Object valueInTable = propertyTable.getValueAt(row, 1);      if (valueInTable.equals(value)) {	p.addPropertyListener(this);	return; // don't need to update      }      propertyTable.setValueAt(p.getValue(), row, 1);      propertyTable.revalidate();      propertyTable.repaint();    }    p.addPropertyListener(this);  }