class OptionalProperty extends AbstractProperty<Optional<T>> implements ObservableOptional<T> {

  @Override
  @Nullable
  public final T getValueOrNull() {
    Optional<T> opt = get();
    return opt.orElse(null);
  }

}