public @Nullable Data dataOr(@Nullable Data defaultValueIfNotExists) {
      if (!hasData) {
        return defaultValueIfNotExists;
      }
      return data;
    }
public @Nullable Data dataOr(@Nullable Data defaultValueIfNotExists)