public T orElseGet(Supplier<? extends T> other) {
        return value != null ? value : other.get();
    }
Return the value if present, otherwise invoke {@code other} and return
the result of that invocation.

@param other a {@code Supplier} whose result is returned if no value
             is present
@return the value if present otherwise the result of {@code other.get()}
@throws NullPointerException if value is not present and {@code other} is
                             null
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/Optional.java