@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Property property = (Property) o;
    if (description != null ?
      !description.equals(property.description) : property.description != null) {
      return false;
    }
    if (key != null ? !key.equals(property.key) : property.key != null) {
      return false;
    }
    if (value != null ? !value.equals(property.value) : property.value != null) {
      return false;
    }
    return true;
  }