@Override
  protected Object getValueOf(@NotNull AbstractProperty<Boolean> property) {
    Boolean value = myValues.get(property);
    if (value == null) {
      String stringValue = myStorage.get(property.getName());
      value = stringValue != null ? Boolean.valueOf(stringValue) : property.getDefault(this);
      myValues.put(property, value);
    }
    return value;
  }
@Override
  protected Object getValueOf(@NotNull AbstractProperty<Boolean> property)