code: public static <T> OptionalValue<T> ofNullable(T value) {
          return new GenericOptionalValue<T>(RUNTIME_SOURCE, DEFAULT_KEY, value);
      }
docs: Returns new instance of OptionalValue with given value
  @param value wrapped object
  @param <T> type of the wrapped object
  @return given object wrapped in OptionalValue