public void addProperty(String id) {
    Property p = app.getPropertyByID(id);
    PropertyValue propertyValue = p.newDefaultValue(detail.getMode());
    propertyValue.setProperty(id);

    detail.getValues().add(propertyValue);

    refreshPatternBar();
    refreshProperties();
  }
  public boolean supportsAnotherProperty(String propertyID) {
    Property p = app.getPropertyByID(propertyID);
    if (p.getCardinalityMax() == -1) {
      return true;
    }

    int present = getPropertiesPresent(propertyID);
    if (present < p.getCardinalityMax()) {
      return true;
    }

    return false;
  }