Object (@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; }