code: @Nullable
      public T orElseGet(@NotNull Supplier<? extends T> other) {
          return value != null ? value : other.get();
      }
docs: Returns inner value if present, otherwise returns value produced by supplier function.
  
  @param other  supplier function that produces value if inner value is not present
  @return inner value if present, otherwise value produced by supplier function